c++ - 如何使用 C++ 中的 Class 函数来保存大数

标签 c++ c++17

我正在创建一个关于天文学的 C++ 程序,并且数字太大,任何整数类型都无法保存。我发现了一些他们指出可以使用类函数来完成的文章。我正在处理的数字就像几十万光年转换成公里,所以这个数字类似于 3.081814457932196587132947576e+27。任何想法如何保存这么大的数字?

最佳答案

如果你真的需要那么多浮点格式的有效数字,你可能应该看看像 MPFR 这样的知名库。 .

如果您不需要浮点,请查看事实上的标准多精度库 GMP (MPFR 本身所基于的)。

请注意,两者都是 C 库。 GMP 有一些 C++ 绑定(bind)/包装器,但并非所有内容都被包装,因此除了最基本的算术之外,您仍然需要调用 C 函数。 MPFR 也是如此(在他们的网站上列出了一堆 C++ 包装器)。

关于c++ - 如何使用 C++ 中的 Class 函数来保存大数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60651181/

相关文章:

c++ - 编译器通常能够将多个连续的内存拷贝压缩为一个操作吗?

c++ - 编译时体系结构x86_64错误的 undefined symbol

c++ - 解决使用静态多态性的构造函数问题

c++ - std::optional<std::reference_wrapper<T>> - 可以吗?

c++ - 即使库已链接,CMake 可执行链接器错误

c++ - 在 win32 中连续串行写入,C++

c++ - 调试 TCP 服务器

c++ - 使用内存池中的自定义删除器将 std::unique_ptr 返回到抽象类型

c++ - 它是 C++ gcc HEAD 10.0.0 20190 相对于友元函数的错误吗

c++ - 如何在 DPC++ 编译器选项中指定 C++ 标准版本?