Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;提高大容量存储_C++_Boost_C++11_Int_Gmp - Fatal编程技术网

C++ C++;提高大容量存储

C++ C++;提高大容量存储,c++,boost,c++11,int,gmp,C++,Boost,C++11,Int,Gmp,因此,基于,我下载并设置了boost。我有以下代码: #include <stdlib.h> #include <boost\multiprecision\gmp.hpp> using namespace std; using namespace boost::multiprecision; void main() { mpz_int N(56701409430493093354815506949472369115676842365520889977868616

因此,基于,我下载并设置了boost。我有以下代码:

#include <stdlib.h>
#include <boost\multiprecision\gmp.hpp>
using namespace std;
using namespace boost::multiprecision;

void main() {
    mpz_int N(567014094304930933548155069494723691156768423655208899778686163624192868328194365094673392756508907687565332345345678900976543567890976543565789054335678097654680986564323567890876532456890775646780976543556789054367890765435689876545898876587907876535976565578907654538790878656543687656543467898786565457897675645657689756456578656456768654657898865567689656890795587907654678798765787897865654657897654678965465786867278762795432151914451557727529104757415030674806148138138281214236089749601911974949125689884222023119844272122501649909415937);

}

如果mpz_int不是我应该使用的,那么对于boost中的大int应该使用什么呢?

从字符串构造它。您可以使用
mpz_int
cpp_int


$6

您试图从整数文本构造:正是这样,一个类型为“int”的文本,并且只能保存“int”大小的值。您可以:

1) 将大整型常量放在引号中,使值由字符串构成,或
2) 仅使用cpp_int,使用用户定义的文本支持从扩展精度文本构造,请参见注意,这需要C++11编译器-您正在使用的VC++尚不具备支持此功能所需的语言功能。请注意,这是真正的constexpr初始化,而不是gmpxx在运行时使用的字符串隐藏构造(必须考虑到需要内存分配)。

对于gmpxx,你可以直接写
56701409430493093354815506947236911567684423655208899778616324192868328194365094673392756500890768756533234534567890097654356789097654356578905433567809764680986564323567890653245689077564678097654355679054789076767676767676767676877576767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676765789886556768965689079558790767676546787987657878978654657897654678965465786727827954532191445157727529104757415030674806148138281121423608974960191197494912568988422202311984427212501649909515937_mpz
IntelliSense: integer constant is too large