在 c++ 中打印 2^64 整数

Print 2^64 integer in c++

本文关键字:整数 打印 c++      更新时间:2023-10-16

我正在用 c++ 解决一个编程问题。问题说输入数字不大于2^64。

如何在 c++ 中使用这么大的数字?我还必须对数字使用减法。

有一种数据类型:保证至少有 64 位的long long(截至 C++11)。假设您没有负值,则可以在类型为 unsigned long long 的变量中存储最多 2^64(但不包括)的值。

uint64_t/unsigned long long可以存储从 0 到 2^64-1 的数字,因此如果您没有输入正好 2^64 或对其进行特殊大小写处理(例如,通过设置布尔值并在必要时使用替代公式),您可以使用 uint64_t . 如果值可能是负数,这将更没有希望,因为int64_t可以处理的数字量级将是 -2^63...2^63-1。

您可以使用 [ long ] doublefloat来存储数字 - 对于一些较大的整数,这些值可能是近似值。

你也可以得到一个能够处理非常大数字的库 - 例如"GMP" - 如果有兴趣,谷歌它。