Python 3.3+mathпонятие
math.log2
логарифмы
Возвращает логарифм по основанию 2. Точнее и быстрее, чем math.log(x, 2). Полезен в алгоритмах с двоичным деревом.
Синтаксис
math.log2(x)
Ноль и отрицательные — ValueError (math domain error), а не -inf. Для целых чисел почти всегда лучше обойтись без float: показатель степени двойки — это n.bit_length() - 1, а проверка «n — степень двойки» пишется как n > 0 and n & (n - 1) == 0. На очень больших числах float-логарифм округляется и на границе может ошибиться, целочисленные приёмы — нет.
Примеры
import math
print(math.log2(1)) # → 0.0
print(math.log2(2)) # → 1.0
print(math.log2(8)) # → 3.0
print(math.log2(1024)) # → 10.0
print(math.log2(3)) # → 1.584962...
print(math.log2(0.5)) # → -1.0
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности