Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Floating point 机器εε;:从1到下一个较小值的步长是多少?_Floating Point_Numerical - Fatal编程技术网

Floating point 机器εε;:从1到下一个较小值的步长是多少?

Floating point 机器εε;:从1到下一个较小值的步长是多少?,floating-point,numerical,Floating Point,Numerical,我们知道机器εε是“1和大于1的最小值之间的差值,在给定的浮点类型中可以表示”。1 但是,该定义没有说明下一个较小的值。1和下一个较小值之间的差异是什么 注 1 ISO/IEC C 2011标准,第5.2.4.2.2节,第13段(不是关于浮点的权威,而是机器ε的一个常见描述示例)。 1-ε/2是小于1的最大数。1+ε是大于1的最小数 标准化浮点数的有效位始终在[1,2]范围内。因此,要表示[0.5,1]范围内的数字,指数为-1,LSB为一半大 所以在二进制中,1+ε类似于: 1+ε=1.000

我们知道机器εε是“1和大于1的最小值之间的差值,在给定的浮点类型中可以表示”。1

但是,该定义没有说明下一个较小的值。1和下一个较小值之间的差异是什么


1 ISO/IEC C 2011标准,第5.2.4.2.2节,第13段(不是关于浮点的权威,而是机器ε的一个常见描述示例)。

1-ε/2是小于1的最大数。1+ε是大于1的最小数

标准化浮点数的有效位始终在[1,2]范围内。因此,要表示[0.5,1]范围内的数字,指数为-1,LSB为一半大

所以在二进制中,1+ε类似于:

1+ε=1.000…0001⨯ 二十

您可以看到,在1和1+ε之间没有数字,这与ε的定义相匹配

但1-ε类似于:

1-ε=1.111…1110⨯ 2-1


所以在1-ε和1之间正好有一个数字,即1-ε/2。

那么
(1-ε/3)
不是比
(1-ε/2)
大多少吗?请你给我指一下关于它们的读数,好吗?我想知道为什么会这样。@ernodeweard:1-ε/3=1-ε/2,它们是相同的浮点数。所以(1-ε)@肖恩:对,1-ε/2No,机器ε没有定义为“最小正数st(1+ε)>1”。该定义定义了一个与预期不同的数字,即“1和1的后继数之间的差值”: