numpy.left_shift#
-
numpy.left_shift(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, сигнатура]) =
'left_shift'> # Сдвинуть биты целого числа влево.
Биты сдвигаются влево путем добавления x2 0 справа от x1. Поскольку внутреннее представление чисел в двоичном формате, эта операция эквивалентна умножению x1 by
2**x2.- Параметры:
- x1array_like целочисленного типа
Входные значения.
- x2array_like целочисленного типа
Количество нулей для добавления к x1. Должно быть неотрицательным. Если
x1.shape != x2.shape, они должны быть транслируемы к общей форме (которая становится формой вывода).- выходndarray, None или кортеж из ndarray и None, опционально
Место для сохранения результата. Если предоставлено, оно должно иметь форму, в которую транслируются входные данные. Если не предоставлено или None, возвращается вновь выделенный массив. Кортеж (возможен только как ключевой аргумент) должен иметь длину, равную количеству выходов.
- гдеarray_like, необязательный
Это условие транслируется на вход. В местах, где условие истинно, выход массив будет установлен в результат ufunc. В других местах выход массив сохранит своё исходное значение. Обратите внимание, что если неинициализированный выход массив создается через стандартный
out=None, позиции внутри неё, где условие ложно, останутся неинициализированными.- **kwargs
Для других аргументов, доступных только по ключевым словам, смотрите документация ufunc.
- Возвращает:
- выходмассив целочисленного типа
Возвращает x1 со сдвинутыми битами x2 раз влево. Это скаляр, если оба x1 и x2 являются скалярами.
Смотрите также
right_shiftСдвинуть биты целого числа вправо.
binary_reprВозвращает двоичное представление входного числа в виде строки.
Примеры
>>> import numpy as np >>> 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])
Обратите внимание, что dtype второго аргумента может изменить dtype результата и привести к неожиданным результатам в некоторых случаях (см. Правила приведения типов):
>>> a = np.left_shift(np.uint8(255), np.int64(1)) # Expect 254 >>> print(a, type(a)) # Unexpected result due to upcasting 510
>>> b = np.left_shift(np.uint8(255), np.uint8(1)) >>> print(b, type(b)) 254 The
<<оператор может использоваться как сокращение дляnp.left_shiftна ndarrays.>>> x1 = 5 >>> x2 = np.array([1, 2, 3]) >>> x1 << x2 array([10, 20, 40])