在 c++ 中打印 2^64 整数
Print 2^64 integer in c++
我正在用 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
] double
或float
来存储数字 - 对于一些较大的整数,这些值可能是近似值。
你也可以得到一个能够处理非常大数字的库 - 例如"GMP" - 如果有兴趣,谷歌它。
相关文章:
- 在一定长度后从数组中打印时缺少整数
- 如何打印boost多精度128位无符号整数
- 为什么有时我输入一个整数,程序将第一个输入的数字打印成十进制数?
- 必须首先打印向量 v1 中最接近整数 x 的数字<int>
- C++ 将打印格式从整数 2255 更改为 $xx.xx
- 如何打印不带空格的输入整数?
- std::带有颜色和标题的 clog 包装器无法正确打印整数
- 指向整数数组和打印总和的指针
- 为什么这个程序接受整数和字母数字输入并打印它们? C++ 中的 std::string 也采用整数值吗?
- 打印出两个整数之间的偶数
- 无法在 Visual Studio 2019 中打印整数
- 将矢量的整数内容打印为字符串会导致分割错误
- 编写一个程序,输入整数 n 并打印该数字的字符数(符号除外)
- C++,尝试打印整数时cout的奇怪行为
- C++声明多个整数会打印不同的值
- 在 C++11 中打印编译时整数序列
- 打印整数总和 > 0
- 如何以相反顺序C 打印整数的单个数字
- 将数组与整数打印为十六进制
- 将整数打印为以小端序排列的4个字节的集合