Float数值表示

float浮点用32个二进制位表示: 
第1位S代表正负号: 0为正数, 1为负数
第2-9位E是阶码,代表2的指数次方, 指数=阶码-127
第10-32位代表尾数1.M

阶码取值范围在1-254时, f=(-1)^S * 1.M * 2^(E-127)  
例如11=1.375*2^3 = (-1)^0 * [1+(0+*0.25+*0.125)] * 2^(128+2-127)  
因此11f 用二进制表示成 0 10000010 01100000000000000000000

最大浮点数 Float.MAX_VALUE=[1+1-2^(-23)]*2^(254-127)=2^128-2^104=3.4028*10^38  
Float精度是23个位二进制位,约等于千万分之一
能保证该精度的最小值 Float.MIN_NORMAL=1*2^(1-127)=2^(-126)=0 00000001 00000000000000000000000

阶码取255时,尾数M全为零时是正负无穷大; 尾数不全为零时是NaN

阶码取0时,f=(-1)^S * 0.M * 2^(-126) 此时精度小于23位
Float能表示出的最小值 Float.MIN_VALUE=2^(-23-126)=2^(-149)=1.4*10^(-45)=0 00000000 00000000000000000000001

因此 Float.MIN_VALUE/1.99f=Float.MIN_VALUE    Float.MIN_VALUE/2.0f=0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值