C++程序 寻找机器ε
机器ε是ε的最小值,使得1 + ε不等于1。机器ε是一种机器相关的浮点值,它提供了浮点运算中由四舍五入引起的相对误差的上限。数学上,对于每种浮点类型,它等价于1.0和大于1.0的最小可表示值之间的差。
在C中,机器epsilon在标准头文件中被指定为FLT_EPSILON、DBL_EPSILON和LDBL_EPSILON。这三个宏分别给出了浮点、双精度和长双精度类型的机器ε值。
在C++中,类似的宏在标准头文件中也是可用的。在C++中,首选的方法是使用std::numeric_limits::epsilon() – 指定在标准头文件中。
在Java中,它被称为ULP(最后一位单位)。您可以使用java.lang.Math包和Math.ulp()方法找到它。
在Python3中,这些信息在sys.float_info中可用,对应于C99中的float.h。
这是std::numeric_limits::epsilon()的C++等效版本。
输出: