我不知道也无法快速找到在 C++ 中输入浮点常量的正确方法。
如果我想要 2^-52,我应该写什么?而且, << 和 float 是什么关系?那是对的吗 ?
const double pres = 1>>52
我不知道也无法快速找到在 C++ 中输入浮点常量的正确方法。
如果我想要 2^-52,我应该写什么?而且, << 和 float 是什么关系?那是对的吗 ?
const double pres = 1>>52
看起来你真的想要double
表示的精确度。在这种情况下,不要使用魔法常数。相反,你可以使用这个:
const double pres = std::numeric_limits<double>::epsilon();
您可以为此使用十六进制浮点表示:
const double pres = 0x1p-52;
#include<math.h>
double pres = 1/pow(2,52);