【发布时间】:2017-03-26 02:08:15
【问题描述】:
我正在使用doubles,需要找到827.0 的二进制版本。
环顾四周是this。
所以我这样做:
double myDouble = 827.0;
Long.toBinaryString(Double.doubleToRawLongBits(myDouble))
然而这又回来了:
100000010001001110110000000000000000000000000000000000000000000100000010001001110110000000000000000000000000000000000000000000100000010001001110110000000000000000000000000000000000000000000100000010001001110110000000000000000000000000000000000000000000100000010001001110110000000000000000000000000000000000000000000100000010001001110110000000000000000000000000000000000000000000100000010001001110110000000000000000000000000000000000000000000100000010001001110110000000000000000000000000000000000000000000100000010001001110110000000000000000000000000000000000000000000100000010001001110110000000000000000000000000000000000000000000100000010001001110110000000000000000000000000000000000000000000100000010001001110110000000000000000000000000000000000000000000100000010001001110110000000000000000000000000000000000000000000
而不是1100111011。
知道我哪里出错了吗?
【问题讨论】:
-
开始写
Long.toBinaryString((long) myDouble)。您正在了解827.0的浮点表示,对此您的期望是错误的。 -
啊,谢谢,这很有道理。