2016-08-15 87 views

回答

1

这是由于缺乏浮点精度。

通过我的经验,浮动精确到approximatly 7显著位。

33.641832被存储为33641832 * 10^-6让你有8位显著(33641832)。

,如果你想更精确,您应该使用double

+0

的数量实际上是存储在二进制,不是小数。 –

+0

@SimonByrne咦?你是认真的吗? – Droppy

+0

@SimonByrne显然是这样,但它存储在4个字节中:1位为符号,8位为exp值(基址),22位为有效位。更多信息:https://en.wikipedia.org/wiki/Single-precision_floating-point_format。 –

0

由Rick里根参见this post表:

float类型只保证准确“往返” 6个显著位数的数字。对于double秒,保证是15

相关问题