numpy.left_shift
-
numpy.left_shift(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = <ufunc 'left_shift'> -
Сдвиг битов целого числа влево.
Биты сдвигаются влево путем добавления
x20 к правому краюx1. Поскольку внутреннее представление чисел в двоичном формате, эта операция эквивалентна умножениюx1на2**x2.- Параметры
-
-
x1array_like of integer type -
Входные значения.
-
x2array_like of integer type -
Количество нулей для добавления к
x1. Должно быть неотрицательным. Еслиx1.shape != x2.shape, они должны быть совместимы для трансляции в общую форму (которая становится формой выходных данных). -
outndarray, None, or tuple of ndarray and None, optional -
Расположение, в которое сохраняется результат. Если указано, оно должно иметь форму, в которую транслируются входные данные. Если не указано или равно None, возвращается новый массив. Кортеж (возможен только в качестве ключевого аргумента) должен иметь длину, равную числу выходных данных.
-
wherearray_like, optional -
Это условие транслируется по входу. В местах, где условие истинно, массив
outбудет установлен на результат ufunc. В противном случае, массивoutсохранит свое исходное значение. Обратите внимание, что если неинициализированный массивoutсоздается по умолчаниюout=None, расположения в нем, где условие ложно, останутся неинициализированными. - **kwargs
-
Для других ключевых аргументов см. документацию ufunc.
-
- Возвращаемые значения
-
-
outarray of integer type -
Возвращает
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), 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'>
© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.left_shift.html