numpy.bitwise_left_shift
- numpy.bitwise_left_shift(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature])=<ufunc 'left_shift'>
-
Сдвиг битов целого числа влево.
Биты сдвигаются влево путем добавления
x20 в правой частиx1. Поскольку внутреннее представление чисел — в двоичном формате, эта операция эквивалентна умножениюx1на2**x2.- Параметры:
-
- x1array_like целого типа
-
Входные значения.
- x2array_like целого типа
-
Количество нулей для добавления к
x1. Должно быть неотрицательным. Еслиx1.shape != x2.shape, они должны быть совместимы для трансляции к общей форме (которая становится формой выходных данных). - outndarray, None или кортеж ndarray и None, необязательно
-
Расположение, в которое сохраняется результат. Если указано, оно должно иметь форму, к которой транслируются входные данные. Если не указано или None, возвращается только что выделенная матрица. Кортеж (только как ключевой аргумент) должен иметь длину, равную количеству выходных данных.
- wherearray_like, необязательно
-
Это условие транслируется по входным данным. В местах, где условие True, массив
outбудет установлен в результат ufunc. В противном случае массивoutсохранит свое исходное значение. Обратите внимание, что если пустой массивoutсоздается по умолчаниюout=None, места в нем, где условие False, останутся неинициализированными. - **kwargs
-
Для других ключевых аргументов см. документацию ufunc.
- Возвращает:
-
- outмассив целого типа
-
Возвращает
x1с битами, сдвинутыми наx2раз влево. Это скаляр, если обаx1иx2являются скалярами.
См. также
right_shift-
Сдвиг битов целого числа вправо.
binary_repr-
Возвращает строковое двоичное представление входного числа.
Примеры
>>> np.binary_repr(5) '101' >>> np.left_shift(5, 2) 20 >>> np.binary_repr(20) '10100'
>>> np.left_shift(5, [1,2,3]) array([10, 20, 40])
Обратите внимание, что тип данных второго аргумента может изменить тип данных результата и привести к непредсказуемым результатам в некоторых случаях (см. Правила приведения типов):
>>> a = np.left_shift(np.uint8(255), np.int64(1)) # Expect 254 >>> print(a, type(a)) # Unexpected result due to upcasting 510 <class 'numpy.int64'> >>> b = np.left_shift(np.uint8(255), np.uint8(1)) >>> print(b, type(b)) 254 <class 'numpy.uint8'>
Оператор
<<может использоваться в сокращенной форме дляnp.left_shiftна nd-матрицах.>>> x1 = 5 >>> x2 = np.array([1, 2, 3]) >>> x1 << x2 array([10, 20, 40])
© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.bitwise_left_shift.html