Sea*_*ean 5 floating-point numerical
我们知道机器epsilon,ε是"在给定浮点类型中可表示的1和最小值之间的差值".1
但是,该定义没有说明下一个较小的值.1和下一个较小的值有什么区别?
注意
1 ISO/IEC C 2011标准,第5.2.4.2.2节,第13段(对浮点没有权威性,但是机器epsilon的常见描述的一个例子).
没有.
1-ε/ 2是低于1的最大数.1 +ε是高于1的最小数.
标准化浮点数的有效位数始终在[1,2]范围内.因此,为了表示[0.5,1]范围内的数字,指数为-1,LSB为一半.
所以在二进制中,1 +ε是这样的:
1 +ε= 1.000 ... 0001⨯2 0
你可以看到1和1 +ε之间没有数字,这与ε的定义相符.
但1 - ε是这样的:
1 - ε= 1.111 ... 1110⨯2 -1
所以在1 - ε和1之间只有一个数,即1 - ε/ 2.