c++ - 输入 64 位数字

标签 c++ bigint

<分区>

哪种 C++ 类型足够大以表示像这样的 64 位十进制数

3141592653589793238462643383279502884197169399375105820974944592 ?

最佳答案

没有什么“开箱即用”的:你需要一个 64 * log(10)/log(2) 位整数类型。 (来自 future 的 std::int256_t 就足够了!)

如果您不打算以任何方式对数字进行数学运算,请使用 std::string

否则,请考虑使用 Boost 中的大数库:www.boost.org。这些东西习惯于将其纳入 future 的 C++ 标准。注意

#include <boost/multiprecision/cpp_int.hpp>
using namespace boost::multiprecision;

产生 int256_t 类型。

关于c++ - 输入 64 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42762931/

相关文章:

c++ - 带有子目录的 CMake

c++ - 我应该如何有条件地启用构造函数?

c++ - 为什么 noexcept 说明符不在声明的方法范围内?

distributed - 提高 bigint 写入磁盘性能

sql - 'ERROR: operator does not exist: '怎么解决?

c++ - 检查指针的以下位置是否为空或行尾 C++

c++ - 更新 Apple g++/gcc

javascript - 如何从 BigInt 计算百分比?

mysql - 如何在 mysql 中将 bigint 更改为 int,表具有外键

MYSQL 无法正确比较 big int(20)