浮点 – 整数运算加法和减法在IEEE双精度浮点数的整数范围内是否精确?

根据 Wikipedia on the IEEE 64-bit floating point standard

Between 252=4,503,599,627,370,496 and 253=9,007,199,254,740,992 the
representable numbers are exactly the integers. For the next range,
from 253 to 254, everything is multiplied by 2, so the representable
numbers are the even ones, etc.

这是否意味着连续的整数最多可以表示为253?

总之,我试图找到整数值的范围,整数加法和减法操作将导致完全正确的结果.

是的,从-253到253的所有整数都包含在IEEE-754 64位浮点中.符合IEEE 754的实现将为所有操作a b和a-b返回完全正确的结果,其中a,b和数学结果是该间隔中的整数.

显然,某些结果将超出该区间,例如253 1,因此产生此类结果的许多操作将产生一个由于四舍五入到可表示值而不准确的值.

在该区间中a和b为整数的区间保证b和a-b精确为-252至252,包括端值.

相关文章
相关标签/搜索