Floating point 2.0+;3.0=4.0,使用基于IEEE格式的5位浮点表示,并从四舍五入到五舍五入?

Floating point 2.0+;3.0=4.0,使用基于IEEE格式的5位浮点表示,并从四舍五入到五舍五入?,floating-point,ieee,Floating Point,Ieee,对于这种基于IEEE的表示浮点数的格式,当四舍五入到偶数时,2.0+3.0=4.0,我感到困惑 特别是最后一部分。从第二个到最后一个也有点令人困惑 我能解释一下吗?谢谢 2.0表示为1.0e1(1*2^1)(我在用基数2写尾数。) 3.0表示为1.1e1(3/2*2^1) 将它们相加,得到一个非标准化尾数10.1,标准化为1.01,指数变为2^2。但因为尾数只有小数点后1位的空间,所以我们可以选择使用1.0和1.1作为尾数,取整到偶数表示我们选择“偶数”尾数,这使我们得到1.0e2(1*2^2

对于这种基于IEEE的表示浮点数的格式,当四舍五入到偶数时,2.0+3.0=4.0,我感到困惑

特别是最后一部分。从第二个到最后一个也有点令人困惑


我能解释一下吗?谢谢

2.0表示为1.0e1(1*2^1)(我在用基数2写尾数。)

3.0表示为1.1e1(3/2*2^1)


将它们相加,得到一个非标准化尾数10.1,标准化为1.01,指数变为2^2。但因为尾数只有小数点后1位的空间,所以我们可以选择使用1.0和1.1作为尾数,取整到偶数表示我们选择“偶数”尾数,这使我们得到1.0e2(1*2^2,或4.0)。

问题是“取整到偶数”而不是截断。当然,它们在这种情况下也有同样的效果。只是出于好奇:“四舍五入到偶数”,在这种情况下。。。这是否意味着“假设最低有效位始终为零(即偶数),因此我们可以忽略它”?(即,使用比以前少一位的数字表示)@NicolasMiari否,因为1.0+0.10==1.1,没有舍入。