Python Glossary English

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Сообщить о неточности