阅读其他帖子我发现我将不得不使用 BigInteger 生成 20,000 个介于 30 到 32 位之间的随机数。
public BigInteger(int numBits, Random rnd)
但这不允许数字的最小和最大范围。
谢谢
阅读其他帖子我发现我将不得不使用 BigInteger 生成 20,000 个介于 30 到 32 位之间的随机数。
public BigInteger(int numBits, Random rnd)
但这不允许数字的最小和最大范围。
谢谢
如果你想使用这个功能,你可以这样做
public static BigInteger random(Random rand, BigInteger minValue, BigInteger maxValue) {
BigInteger range = maxValue.subtract(minValue).add(BigInteger.ONE);
int bits = range.bitLength();
BigInteger ret;
do {
ret = new BigInteger(bits, rand);
} while(ret.compareTo(range) >= 0);
return ret.add(minValue);
}