我的C ++程序可能会在运行时创建一个值直到10 ^ 16,我尝试使用“long long int”但它不起作用。哪种数据类型对应10 ^ 16?
感谢;
答案 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!