为什么boost :: math :: float_distance(1.0,0.0)的结果如此之大?

时间:2017-12-22 08:37:29

标签: c++11 boost precision

正如标题所提到的,为什么boost :: math :: float_distance(1.0,0.0)的结果是-4.60718e + 18,这么大?

根据这个关于ULP的定义: 通常,如果使用浮点数d.d ... d×e来表示z,则最后一位d.d ... d - (z / e)p-1个单位出错。 资料来源:https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html

结果不应该是这么大的数字,不是吗?

0 个答案:

没有答案