【发布时间】:2021-11-10 19:36:29
【问题描述】:
当我编码时,我遇到了一个问题:我需要输出 2^64 的数字(还有 3^64 等)。我尝试过 unsigned long long int,但仍然不够(它包含 2^64-1)。如果有人知道我如何输出 64 位到 128 位的数字,请告诉我(顺便说一句,我正在尝试在 C 上执行此任务)。
【问题讨论】:
-
这可能是 XY 问题。您有问题陈述和建议的解决方案吗?
-
c++ 有
__int128但对于 c 你可能需要编写自己的自定义逻辑 -
@RishabhDeepSingh
__int128是一个 gcc 扩展,在 c 或 c++ 中工作 -
4^64 超出 128 位整数范围。
2^64, 4^64可用作double。真正的问题是什么? -
@AlanBirtles 不知道它也适用于 c。但它没有输出运算符,因此您可以自己定义它。类似stackoverflow.com/questions/25114597/how-to-print-int128-in-g