小数点后9位的最大可存储浮点值是多少



我想知道,如果要求小数点后9位

,浮动溢出的最大值是多少

8388608,用于IEEE-754 64位二进制浮点,通常称为double

对于低于该幅度的所有值,相邻可表示值之间的步长小于10-9,因此每个可在小数点后用九位小数表示的数字都可以与其他数字区分开来。

在该幅度以上,步长太大。下一个较大的可表示值是8388608.00000000186264514923095703125,我们看到它更接近8388608.00000002,而不是8388608.00000000001,因此我们不会有任何浮点值来区分8388608.0200000001、8388608.000000 02和8388608。

对于32位,最大值为.015625。因此,32位float可能没有用处。

浮点32767.998046875有9个小数位,它上面的任何浮点都不需要表示9个小数码。它的继任者是32768.0,然后是32768.00390625。对于这些数字及其以上的所有浮点值,所有小数部分都是0.00390625的倍数,并且需要小数点后8位或更少才能精确表示。

或者你的问题可能是关于其他事情。在16384到32768之间,有些浮点有9位小数,如32767.998046875,但您无法选择所需的数字(例如32767.998055555不能表示为浮点)。也许你考虑的是你选择的小数点后9位,而不是格式的选择。在这种情况下,答案更简单:没有浮点运算,你可以选择9个任意有效的十进制数字,并保证你会得到这些相同的数字。浮点格式只允许返回6位小数。

最新更新