添加两个浮点值时遇到问题

时间:2016-11-12 10:26:57

标签: floating-point

我一直在尝试将两个值加到一个精度浮点值中,但我没有得到正确的答案。

小数点是 10 ^ 7 和 1.5

添加的这些值的32位浮点值是多少? 如果我将浮动结果转换为十进制,那么十进制值是什么?

我得到10,000,001.0(在我添加浮点值然后转换为十进制之后),这是不是

应为10,000,001.5

1 个答案:

答案 0 :(得分:2)

在范围8388608 ... 16777216(2 ^ 23 ... 2 ^ 24)中,以32位浮点数表示的连续值之间的步长等于1.您不能精确地表示10,000,001.5;此类型的最接近的值是10,000,001和10,000,002。

如果您需要更高的精确度,请切换到NULL