Описания bitCount() и bitLength() довольно загадочны:
public int bitCount( )
Возвращает количество битов в представлении с двоичным дополнением этого BigInteger, которые отличаются от его знакового бита. Этот метод полезен при реализации наборов бит-векторов поверх BigInteger.
Возвраты:
количество битов в представлении с дополнением до двух этого BigInteger, которое отличается от его знаковый бит.
public int bitLength()
Возвращает количество битов в минимальном представлении с дополнением до двух для этого BigInteger, исключая знаковый бит. Для положительных BigInteger это эквивалентно количеству битов в обычном двоичном представлении. (Вычисляет (ceil(log2(this < 0 ? -this : this+1))).)
Возвращает:
количество битов в минимальной двойке -дополняющее представление этого BigInteger, исключая знаковый бит.
Какова реальная разница между этими двумя методами и когда мне следует использовать какой ?
Я иногда использовал bitCount для подсчета количества установленных бит в положительном целом числе, но я использовал bitLength лишь изредка и обычно когда Я имел в виду bitCount, потому что различия между описаниями слишком тонкие, чтобы я мог сразу их понять.
Google Attractor: Java BigInteger bitCount против длины бита
Подробнее здесь: https://stackoverflow.com/questions/444 ... biginteger
В чем разница между `bitCount()` и `bitLength()` `BigInteger` ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение