标签: 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
结果不应该是这么大的数字,不是吗?