Python Glossary English

Python 3.1+Числа и математикафункция

int.bit_length

биты

Возвращает количество бит, необходимых для записи модуля числа в двоичном виде (без знака и ведущих нулей); у нуля — 0.

Синтаксис

n.bit_length()

У отрицательных берётся модуль, так что знак на результат не влияет. Для n > 0 это ровно floor(log2(n)) + 1, но, в отличие от math.log2, считается точно: log2 сначала переводит число во float, и для 2**64 - 1 получается ровно 64.0 — формула ошибётся на единицу, а bit_length вернёт верные 64.

Примеры

print((255).bit_length())   # → 8
print((1024).bit_length())  # → 11
print((0).bit_length())     # → 0

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности