我有一个C++ BigInteger库。我必须从任意大的随机数中创建一个精确的125位bigInteger。我需要对创建的125位数执行右移,左移,setbit,getbit,NOT,OR,XOR和AND操作。我需要使用哪个库来完成上述操作?谁能帮帮我吗。BigInteger Library
回答
谷歌搜索条件big integer library
给了我C++ Big Integer Library。来自网站:
这个库强调易于使用和实现清晰度超过 速度;一些用户会更喜欢GMP,速度更快。
编辑:
要创建具有125位的随机数,有很多的选择。
一个简单而快速的解决方案(但我显然不能在上面发布的库中 - 我不确定是否可以使用GMP)将以正确的表示法执行rand() * 0x1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
。
上述库的范围中的一个方法,不幸的是相当慢,将绘制125个单个位(随机为“0”或“1”),如果您绘制了“1” ”。这里有一些(未经测试的)代码:
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;
}
我使用了上面提到的相同的库(https://mattmccutchen.net/bigint/),但是使用这个我无法创建精确的125位数字。 – user1545975 2012-07-24 06:42:35
我编辑了我的答案,希望能够涵盖您的问题。 – 2012-07-24 07:00:44
随机数是以毫秒为单位的系统时间。我需要那个随机数的125位bigInt。请帮助我,如果有任何方式来做到这一点。 – user1545975 2012-07-24 08:46:11
- 1. 在java中制作bigInteger大小biginteger
- 2. 为什么BigInteger(String)没有BigInteger(long)?
- 3. BigInteger到BigInteger的功能(Schnorr签名)
- 4. BigInteger(long)在BigInteger中有私人访问
- 5. zkcm-library找不到mpfr-library
- 6. 的Java的BigInteger
- 7. BigInteger上的OutOfMemoryError
- 8. BigInteger in Pascal
- 9. 的BigInteger到Hexadeximal
- 10. BigInteger to Key
- 11. 随机化BigInteger
- 12. 从byteArray到bigInteger
- 13. Groovy来BIGINTEGER
- 14. BigInteger in Properties.Settings.Default
- 15. BigInteger在Kotlin
- 16. BigInteger问题
- 17. BigInteger + - 操作?
- 18. Java BigInteger(byte [] val)
- 19. 关于Java BigInteger
- 20. BigInteger in C?
- 21. BigInteger.pow()与BigInteger
- 22. Java BigInteger素数
- 23. BigInteger难度
- 24. BigInteger复制
- 25. srp6 IntPtr到BigInteger
- 26. Java BigInteger&String
- 27. BigInteger不增加?
- 28. RSA- BIgInteger问题
- 29. CoverFlow Library
- 30. DISPhelper Library
GMP是其中一个比较有名的。 – chris 2012-07-24 05:14:48
你有*图书馆吗?或者你需要*图书馆吗? – steffen 2012-07-24 05:53:15
我已经使用https://mattmccutchen.net/bigint/。 但我不能从任何随机数创建精确的125位大数字。如果任何其他图书馆可以创建数字,那么我需要它,或者如果可能的话,从这个库中创建大125位数,然后请告诉我。 – user1545975 2012-07-24 06:40:22