Функция log2
Функция log2 вычисляет двоичный логарифм (логарифм по основанию 2) для каждого элемента массива. Она принимает на вход массив чисел и возвращает новый массив, содержащий двоичные логарифмы соответствующих элементов. Функция работает как с одномерными, так и с многомерными массивами, а также поддерживает вещественные и комплексные числа.
Синтаксис
np.log2(x, [out], [where])
Параметр x - это входной массив или скаляр, для которого вычисляется двоичный логарифм. Необязательный параметр out задаёт массив для сохранения результата. Параметр where позволяет указать условие, при котором выполняется вычисление.
Пример
Вычислим двоичный логарифм для массива чисел от 1 до 8:
import numpy as np
arr = np.array([1, 2, 4, 8, 16])
res = np.log2(arr)
print(res)
Результат выполнения кода:
[0. 1. 2. 3. 4.]
Пример
Применим функцию log2 к двумерному массиву:
import numpy as np
arr = np.array([[1, 2, 4], [8, 16, 32]])
res = np.log2(arr)
print(res)
Результат выполнения кода:
[[0. 1. 2.]
[3. 4. 5.]]
Пример
Если передать нулевое или отрицательное число, функция вернёт специальные значения:
import numpy as np
arr = np.array([0, -1, 2])
res = np.log2(arr)
print(res)
Результат выполнения кода:
[ -inf nan 1.]
Здесь -inf означает минус бесконечность (логарифм нуля), а nan - нечисло (логарифм отрицательного числа).
Пример
Функцию log2 можно использовать для вычисления количества бит, необходимых для представления числа:
import numpy as np
arr = np.array([8, 16, 32, 64])
res = np.log2(arr)
bits = np.ceil(res).astype(int)
print(bits)
Результат выполнения кода:
[3 4 5 6]
Так мы получили минимальное количество бит для представления каждого числа из массива.