哪个数据类型对应于C ++中的10 ^ 16?

时间:2013-03-23 18:42:59

标签: c++ types algebraic-data-types

我的C ++程序可能会在运行时创建一个值直到10 ^ 16,我尝试使用“long long int”但它不起作用。哪种数据类型对应10 ^ 16?

感谢;

4 个答案:

答案 0 :(得分:6)

long long int的最低保证最高值为2^63 - 1,约为10^19。应该没问题。确保使用std::int_least64_t中的<cstdint>类型。保证至少有64位。

答案 1 :(得分:1)

小于64位所以......长期应该是好的..

答案 2 :(得分:1)

试试int64_t。这应该足够长。但一定要输入整数文字:

int64_t n = 10000000000000000;

如果您说1E16,那就是double字面值,转换为整数可能会产生意外结果。

答案 3 :(得分:-2)

无符号long long Int最多可达10 ^ 18!