0

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

谢谢;

4

4 回答 4

6

的最小保证最大值long long int2^63 - 1,大约是10^19。应该没问题。可以肯定的是,使用std::int_least64_t来自 的类型<cstdint>。保证至少有 64 位。

于 2013-03-23T18:45:51.033 回答
1

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

于 2013-03-23T18:45:33.797 回答
1

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

int64_t n = 10000000000000000;

如果你说1E16,那是一个double文字,转换为整数可能会产生意想不到的结果。

于 2013-03-23T18:46:05.100 回答
-2

Unsigned long long Int 最高可达 10^18!

于 2016-10-19T13:55:49.433 回答