numpy.bitwise_count#
-
numpy.bitwise_count(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, сигнатура]) =
'bitwise_count'> # Вычисляет количество единичных битов в абсолютном значении
x. Аналогично встроенной функции int.bit_count илиpopcountв C++.- Параметры:
- xarray_like, unsigned int
Входной массив.
- выходndarray, None или кортеж из ndarray и None, опционально
Место для сохранения результата. Если предоставлено, оно должно иметь форму, в которую транслируются входные данные. Если не предоставлено или None, возвращается вновь выделенный массив. Кортеж (возможен только как ключевой аргумент) должен иметь длину, равную количеству выходов.
- гдеarray_like, необязательный
Это условие транслируется на вход. В местах, где условие истинно, выход массив будет установлен в результат ufunc. В других местах выход массив сохранит своё исходное значение. Обратите внимание, что если неинициализированный выход массив создается через стандартный
out=None, позиции внутри неё, где условие ложно, останутся неинициализированными.- **kwargs
Для других аргументов, доступных только по ключевым словам, смотрите документация ufunc.
- Возвращает:
- yndarray
Соответствующее количество единичных битов во входных данных. Возвращает uint8 для всех целочисленных типов. Это скаляр, если x является скаляром.
Ссылки
[2]Википедия, "Вес Хэмминга", https://en.wikipedia.org/wiki/Hamming_weight
Примеры
>>> import numpy as np >>> np.bitwise_count(1023) np.uint8(10) >>> a = np.array([2**i - 1 for i in range(16)]) >>> np.bitwise_count(a) array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], dtype=uint8)