Как вы можете указать BigInteger с максимальным количеством битов типа BigInteger? - PullRequest
0 голосов
/ 29 ноября 2018

Я знаю, что у BigInteger есть конструктор, в котором вы можете сгенерировать случайный BigInteger, пропустив максимальную длину BitLength нового BigInteger и случайный параметр:

BigInteger(int numBits, Random rnd)

Как вы можете сгенерировать случайный BitInteger, где numBitsтипа BitInteger не int?Примечание: я не хочу делать myBitInteger.intValue().

1 Ответ

0 голосов
/ 29 ноября 2018

Вы не можете.Не существует конструктора, который принимает BigInteger число битов.

Почему бы и нет?BigInteger не хранит внутреннее количество битов как большое целое число.Он содержит int число битов, решение о дизайне, отраженное в общедоступном API:

BigInteger(int numBits, Random rnd);
int bitCount();
int bitLength();
static BigInteger probablePrime(int bitLength, Random rnd);
...