java的16进制表示浮点数问题 double d = 0x1.2P5; System.out.println(d); 为什么答案是36.0?

如题所述

0x1.2 是说 1 + 2/16 =1.125
P5 是说 1.125*2*2*2*2*2(5个2)=36
显示36.0是因为浮点数本来就不精确 结果是25.9999999也是可能的
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-04-11
我不明白呀但是程序 结果是对的追问

肯定对的啊,问的就是怎么来的