大整数库 我有一个C++ BigCype库。我必须从任意大的随机数中创建一个精确为125位的大整数。我需要对创建的125位数字执行rightshift、leftshift、setbit、getbit、NOT、OR、XOR和操作。我需要使用哪个库来执行上述操作?有人能帮我吗。

大整数库 我有一个C++ BigCype库。我必须从任意大的随机数中创建一个精确为125位的大整数。我需要对创建的125位数字执行rightshift、leftshift、setbit、getbit、NOT、OR、XOR和操作。我需要使用哪个库来执行上述操作?有人能帮我吗。,c++,C++,在谷歌上搜索“大整数库”(big integer library),我得到了答案。网址: 该库强调易用性和实现的清晰性 速度一些用户会更喜欢GMP,它更快 编辑: 要创建125位的随机数,有很多选项 一个简单而快速的解决方案(但在我上面发布的库中显然不可用-我不知道GMP是否可行)是使用正确的符号执行rand()*0x1ffffffffffffffffffff 不幸的是,上述库范围内的一种方法相当缓慢,它是绘制125个单位(“随机0”或“1”),如果绘制“1”,则增加2的幂。以下是一些(未经测试

在谷歌上搜索“大整数库”(big integer library),我得到了答案。网址:

该库强调易用性和实现的清晰性 速度一些用户会更喜欢GMP,它更快

编辑:

要创建125位的随机数,有很多选项

一个简单而快速的解决方案(但在我上面发布的库中显然不可用-我不知道GMP是否可行)是使用正确的符号执行
rand()*0x1ffffffffffffffffffff

不幸的是,上述库范围内的一种方法相当缓慢,它是绘制125个单位(“随机0”或“1”),如果绘制“1”,则增加2的幂。以下是一些(未经测试的)代码:

BigInteger求和,数字125位;
总和=1;
srand(系统时间或任何其他号码);

对于(int i=0;iGMP是比较有名的一个。你有库吗?你需要库吗?我用过。但我不能从任何随机数中创建精确的125位大数。如果任何其他库可以创建该数字,那么我需要它,或者如果可能,从这个库中创建大的125位数字,那么请告诉我。我使用了上述相同的库稀有的()但是使用这个,我无法创建一个精确的125位数字。我编辑了我的答案,希望能涵盖你的问题。随机数是系统时间,单位为毫秒。我需要该随机数的125位bigInt。如果有任何方法,请帮助我。-1因为无法提出明确的问题。以毫秒为单位的系统时间不会给你125位的独立时间nt信息,因此它不适合生成长度为125位的随机数。您必须用其他内容填充大约100位。如果零可以,您可以简单地左移系统时间。在java中,BigInteger b=新的BigInteger(125,随机数)'给BigInteger number对象精确的125位。在cpp中有什么方法可以这样做吗?
BigInteger summand, number125bit;
summand = 1;

srand(systemtime_or_any_other_number);
for (int i=0; i<125; i++)
{
    if (rand() && 1)
    {
         number125bit += summand;
    }
    summand = summand << 1;
}