java中浮点数

java中浮点数的存储是由四个字节(32位)来完成:如下图

四个字节总共32位,下标从0开始到31,第31位是符号位,0表示正数,1表示负数。

第23位到第30位是幂指数,第0位到第22位是有效位

可以知道,无穷大是幂指数都为1,即第23位到30位都为,有效位都为零,编写以下代码:

public class lesson2 {
	
		public static void main(String []args)
		{
			System.out.println(Float.intBitsToFloat(0x7f800000));
		}

}
在这段代码中,7是111(28--30),f是1111(24-27),8是1000(20--23),即幂指数都是1,

运行以后  输出:infinity(无穷大);

那最大的浮点数就是比无穷大小一点,即幂指数前7位都是1,第八位(即第23位)是0,有效位全都是1,

此即为最大的浮点数,编写以下代码

public class lesson2 {
	
		public static void main(String []args)
		{
			System.out.println(Float.intBitsToFloat(0x7f7fffff));
		}

}
<pre name="code" class="java"><pre name="code" class="java">运行以后,输出:3.4028235E38
那最小的浮点数是多少呢?很简单,即幂指数都为0,有效位只有最后一位(即第一位)为1,编写以下代码:
 
public class lesson2 {
	
		public static void main(String []args)
		{
			System.out.println(Float.intBitsToFloat(0x00000001));
		}

}
 
 

运行以后,输出:1.4E-45




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值