РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
192 of 541 menu

Функция left_shift

Функция left_shift выполняет побитовый сдвиг влево над каждым элементом массива. Первым параметром функция принимает массив чисел или число, вторым параметром - количество бит, на которое необходимо выполнить сдвиг. Функция возвращает новый массив с результатами операции.

Синтаксис

np.left_shift(x, shift, /, out=None, *, where=True)

Пример

Давайте выполним побитовый сдвиг влево для одномерного массива чисел:

import numpy as np arr = np.array([1, 2, 3, 4, 5]) res = np.left_shift(arr, 1) print(res)

Результат выполнения кода:

[ 2 4 6 8 10]

Пример

Выполним сдвиг влево на два бита для тех же данных:

import numpy as np arr = np.array([1, 2, 3, 4, 5]) res = np.left_shift(arr, 2) print(res)

Результат выполнения кода:

[ 4 8 12 16 20]

Пример

Функция также поддерживает скалярные значения и отрицательные числа (внимание: сдвиг отрицательных чисел может дать неожиданный результат из-за представления в дополнительном коде):

import numpy as np num = 5 res = np.left_shift(num, 1) print(res) neg_num = -5 res_neg = np.left_shift(neg_num, 1) print(res_neg)

Результат выполнения кода:

10 -10

Пример

Работа с двумерным массивом и разными значениями сдвига для каждого элемента (используем трансляцию):

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) shifts = np.array([1, 2, 1]) res = np.left_shift(arr, shifts) print(res)

Результат выполнения кода:

[[ 2 8 6] [ 8 20 12]]

Пример

Использование оператора << как альтернативы функции:

import numpy as np arr = np.array([1, 2, 3]) res = arr << 2 print(res)

Результат выполнения кода:

[4 8 12]

Смотрите также

  • функцию right_shift,
    которая выполняет побитовый сдвиг вправо
  • функцию bitwise_and,
    которая выполняет побитовое И
  • функцию bitwise_or,
    которая выполняет побитовое ИЛИ
  • функцию bitwise_xor,
    которая выполняет побитовое исключающее ИЛИ
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить