计算机如何根据 IEEE 754 浮点表示法存储 0.000000f?
How computer stores 0.000000f according to IEEE 754 floating point representation?
正如我们所知,我们可以用 IEEE 754 浮点数 representation.But 表示任何浮点数,在所有浮点数中我们得到类似 1 的东西。(一些尾数)* 2^(一些指数)其中 1总是固定在第一个位置,因此我们在将任何 IEEE 754 浮点数转换回十进制时假设它 number.But 在 0.000000f 的情况下我们将假设什么,因为在这种情况下我们不能表示 1 中的数字。( some mantissa) * 2^(some Exponent) 因为它在尾数的开头永远不能有 1 除了 0.
全0的模式为0保留:
3 2 1 0
1 09876543 21098765432109876543210
S ---E8--- ----------F23----------
Binary: 0 00000000 00000000000000000000000
Hex: 0000 0000
Precision: SP
Sign: Positive
Exponent: -127 (Stored: 0, Bias: 127)
Hex-float: 0x0p+0
Value: +0.0
请注意,IEEE 表示中有两个 0:+0 和 -0;可以区分。模式 0x80000000 用于后者:
3 2 1 0
1 09876543 21098765432109876543210
S ---E8--- ----------F23----------
Binary: 1 00000000 00000000000000000000000
Hex: 8000 0000
Precision: SP
Sign: Negative
Exponent: -127 (Stored: 0, Bias: 127)
Hex-float: -0x0p+0
Value: -0.0
正如 Alias 所回答的那样,“所有指数和有效位都设置为零”被定义为零。也可以将零视为 denormal number 的特例。当所有指数位都设置为零(可能的最小指数)时,尾数没有假定前导 1,因此如果尾数也为零,则结果值(解释为非正规数)为零。
How computer stores 0.000000f according to IEEE 754 floating point representation?
当一个float
小于最小法线non-zero FLT_MIN
(0 00000001 00000000000000000000000
)时,它被存储为0的编码偏置指数(s 00000000 xxxxxxxxxxxxxxxxxxxxxxx
).隐含位不再是 1,而是 0,有效偏置指数为 1。
当xxxxxxxxxxxxxxxxxxxxxxx
全为0时,值为+0.0f或-0.0f。
A float
编码的偏置指数为 0 且 xxxxxxxxxxxxxxxxxxxxxxx
不为零,它是 sub-normal.
FLT_TRUE_MIN
是 0 00000000 00000000000000000000001
,最小的正 non-zero 值。
正如我们所知,我们可以用 IEEE 754 浮点数 representation.But 表示任何浮点数,在所有浮点数中我们得到类似 1 的东西。(一些尾数)* 2^(一些指数)其中 1总是固定在第一个位置,因此我们在将任何 IEEE 754 浮点数转换回十进制时假设它 number.But 在 0.000000f 的情况下我们将假设什么,因为在这种情况下我们不能表示 1 中的数字。( some mantissa) * 2^(some Exponent) 因为它在尾数的开头永远不能有 1 除了 0.
全0的模式为0保留:
3 2 1 0
1 09876543 21098765432109876543210
S ---E8--- ----------F23----------
Binary: 0 00000000 00000000000000000000000
Hex: 0000 0000
Precision: SP
Sign: Positive
Exponent: -127 (Stored: 0, Bias: 127)
Hex-float: 0x0p+0
Value: +0.0
请注意,IEEE 表示中有两个 0:+0 和 -0;可以区分。模式 0x80000000 用于后者:
3 2 1 0
1 09876543 21098765432109876543210
S ---E8--- ----------F23----------
Binary: 1 00000000 00000000000000000000000
Hex: 8000 0000
Precision: SP
Sign: Negative
Exponent: -127 (Stored: 0, Bias: 127)
Hex-float: -0x0p+0
Value: -0.0
正如 Alias 所回答的那样,“所有指数和有效位都设置为零”被定义为零。也可以将零视为 denormal number 的特例。当所有指数位都设置为零(可能的最小指数)时,尾数没有假定前导 1,因此如果尾数也为零,则结果值(解释为非正规数)为零。
How computer stores 0.000000f according to IEEE 754 floating point representation?
当一个float
小于最小法线non-zero FLT_MIN
(0 00000001 00000000000000000000000
)时,它被存储为0的编码偏置指数(s 00000000 xxxxxxxxxxxxxxxxxxxxxxx
).隐含位不再是 1,而是 0,有效偏置指数为 1。
当xxxxxxxxxxxxxxxxxxxxxxx
全为0时,值为+0.0f或-0.0f。
A float
编码的偏置指数为 0 且 xxxxxxxxxxxxxxxxxxxxxxx
不为零,它是 sub-normal.
FLT_TRUE_MIN
是 0 00000000 00000000000000000000001
,最小的正 non-zero 值。