Java 十六进制浮点文字
Java 十六进制浮点文字,java,floating-point,hex,Java,Floating Point,Hex,0x12.2P2如何等于72.5 我知道p后面的值叫做二元指数,表示数字乘以2的幂?0x12.2P2是0x122/1610*22 0x122=29010 除以1610=18.12510 乘以22得到72.510 更正式地说(?),对于p之前的零件,您可以使用这个非常经典的转换表: decimal point here ▼ +-----+-----+-----+-----+-+-----+-----+-----+ | 16³ | 16² | 16¹ | 16⁰ | | 16⁻¹|
0x12.2P2
如何等于72.5
我知道p后面的值叫做二元指数,表示数字乘以2的幂?
0x12.2P2
是0x122/1610*22
- 0x122=29010
- 除以1610=18.12510
- 乘以22得到72.510
更正式地说(?),对于
p
之前的零件,您可以使用这个非常经典的转换表:
decimal point here ▼
+-----+-----+-----+-----+-+-----+-----+-----+
| 16³ | 16² | 16¹ | 16⁰ | | 16⁻¹| 16⁻²| 16⁻³|
+-----------------------------------------+
| | | 1 | 2 |.| 2 | | |
+-----+-----+-----+-----+-+-----+-----+-----+
所以0x12.2是1⨯16½+2x16⁰+2.⨯16⁻CharStyle=18.125我想你的意思是290而不是190。@Eran该死!愚蠢的打字错误。。。谢谢你指出这一点!在十进制中,290除以16得到18.125,18.13乘以4得到72.52。我建议将“18.13”替换为“18.125”。@Patricia谢谢。我甚至没有注意到,我的桌面计算器已经将结果四舍五入了。今晚我有多傻。。。