二进制转浮点数 java_如何将二进制浮点数转换为小数?

在IEEE-754浮点格式中, exponent = 0 is a denormal, where the implied leading bit in the mantissa is 0 .

维基百科有一篇关于single-precision float (binary32)格式的详细文章,有很多例子 . 对于binary32 float,公式是(来自wiki文章):

(−1)^signbit × 2^(−126) × 0.significandbits ; denormal, expbits=0

(−1)^signbit × 2^(expbits−127) × 1.significandbits ; normal

Inf or NaN (depending on mantissa aka significant); expbits = all 1s

(注意,0.0是非正规的特殊情况,但实际上并不被认为是非正规) .

无论如何,如果指数为零,请注意指数不再是 expbits - bias ,它高一个 .

回到你的情况:你的尾数是0.101二进制,0.625十进制(我将 0b101 / 8 插入 calc ) .

2 ^ -2 * 0.101 (二进制)= 2 ^ -2 * 0.625(十进制)= 0.15625 = 5/32

这是一篇https://en.wikipedia.org/wiki/Minifloat维基百科文章,其中提到了8位IEEE格式,以及计算机图形硬件在现实生活中使用的其他一些不到32位的格式 . (例如24位或16位) . 有趣的事实:x86可以加载/存储16位半精度浮点数的向量,使用F16C ISA extension动态转换为单个寄存器中的单个 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值