C++中如何使用类函数保存大数 我正在创建一个天文学C++程序,而且数字太大,不能保存任何整数类型。我发现了一些文章,他们指出可以使用class函数来实现。我处理的数字是几十万光年转换成公里,所以这个数字大约是3.08181445792196587132947576e+27。你知道如何保存这么大的数字吗?

C++中如何使用类函数保存大数 我正在创建一个天文学C++程序,而且数字太大,不能保存任何整数类型。我发现了一些文章,他们指出可以使用class函数来实现。我处理的数字是几十万光年转换成公里,所以这个数字大约是3.08181445792196587132947576e+27。你知道如何保存这么大的数字吗?,c++,c++17,C++,C++17,如果你真的需要那么多浮点数格式的有效数字,你可能应该看看著名的库,比如 如果不需要浮点运算,请查看MPFR本身所基于的事实上的标准多精度库 请注意,两者都是C库。GMP有一些C++绑定/包装,但不是所有的都被包装,所以你仍然需要调用C函数,除了最基本的算术。MPFR也一样,在他们的站点上列出了一组C++包装。 < P>如果你真的需要浮点格式中的很多有效数字,你应该看看像./P>这样的一个众所周知的库。 如果不需要浮点运算,请查看MPFR本身所基于的事实上的标准多精度库 请注意,两者都是C库。GM

如果你真的需要那么多浮点数格式的有效数字,你可能应该看看著名的库,比如

如果不需要浮点运算,请查看MPFR本身所基于的事实上的标准多精度库


请注意,两者都是C库。GMP有一些C++绑定/包装,但不是所有的都被包装,所以你仍然需要调用C函数,除了最基本的算术。MPFR也一样,在他们的站点上列出了一组C++包装。

< P>如果你真的需要浮点格式中的很多有效数字,你应该看看像./P>这样的一个众所周知的库。 如果不需要浮点运算,请查看MPFR本身所基于的事实上的标准多精度库


请注意,两者都是C库。GMP有一些C++绑定/包装,但不是所有的都被包装,所以你仍然需要调用C函数,除了最基本的算术。MPFR也一样,在他们的站点上列出了一组C++包装。

< P>如果你只想处理整数,那就很简单。 您可以将数字存储到数组中,如:

big_num = [3, 0, 8, 1, 8, 1, 4, 4, 5, 7, 9, 3, 2, 1, 9, 6, 5, 8, 7, 1, ... 6]
在数组的每个索引处都有一个数字

您可以自己实现计算函数,也可以使用大型num lib,如:


我相信你能在网上找到真正适合你的图书馆

如果您只想处理整数,它非常简单

您可以将数字存储到数组中,如:

big_num = [3, 0, 8, 1, 8, 1, 4, 4, 5, 7, 9, 3, 2, 1, 9, 6, 5, 8, 7, 1, ... 6]
在数组的每个索引处都有一个数字

您可以自己实现计算函数,也可以使用大型num lib,如:


我相信你能在网上找到真正适合你的图书馆

你真的需要那么多有效数字吗?如果“否”和“15”足够,请使用double;如果“是”,则需要使用提供所需精度的第三方数字类型:问题不在于大小,而在于位数。3.0E+ 27不是那么大,有外部的库,例如:设计成用这么大的数字来工作。注意Boo/Mulk精度是一个特别有名的C++包装器,在GMP.do上,你真的需要那么多有效数字吗?如果“否”和“15”足够,请使用double;如果“是”,则需要使用提供所需精度的第三方数字类型:问题不在于大小,而在于位数。3.0E+ 27不是很大,有外部的库,例如:设计成用这么大的数字来工作。注意Boost/Mulk精度是一个特别有名的C++ GMP包装器。除非这是一些作业练习,否则你自己写这类东西真的没有什么意义。只要使用一个著名的图书馆。除非这是一些家庭作业练习,否则自己写这种东西来重新发明轮子是没有意义的。只要使用知名的图书馆。