我正在写一个程序,我需要使用地球质量(5.972E24千克) 我找不到适合这么多数据的有效int类型。我也需要图书馆,所以我可以加入它。
答案 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(基本上你可以使用你想要的数字,唯一的限制是可用内存)