整数类型大于unsigned long long,还有库?

时间:2014-12-11 23:05:54

标签: c++ int

我正在写一个程序,我需要使用地球质量(5.972E24千克) 我找不到适合这么多数据的有效int类型。我也需要图书馆,所以我可以加入它。

2 个答案:

答案 0 :(得分:4)

双人很容易掌握这个价值:

#include <iostream>

int main()
{
    double earthMass = 5.972E24;
    std::cout << earthMass << std::endl; // Prints 5.972e+24

    // And then some
    double twoHundredEarthMass = 200 * earthMass;
    std::cout << twoHundredEarthMass << std::endl; // Prints 1.1944e+27
}

浮点数不会以与整数类型相同的方式存储在内存中。

答案 1 :(得分:0)

你应该检查__int128(gcc扩展,不是c ++标准的一部分) 或者你可以寻找任意精度算术,如GMP(基本上你可以使用你想要的数字,唯一的限制是可用内存)