все Python 3operatorфункция
operator.rshift
битовые
Сдвиг вправо: a >> b (целочисленное деление на 2**b).
Синтаксис
operator.rshift(a, b)
Для отрицательных чисел сдвиг округляет вниз, к минус бесконечности: rshift(-5, 1) даёт -3, а не -2. Это согласовано с floordiv: a >> n равно a // 2**n. Отрицательный сдвиг поднимает ValueError. Чтобы достать отдельный бит, сдвиг сочетают с маской: (a >> k) & 1.
Примеры
import operator
print(operator.rshift(16, 2)) # → 4
print(operator.rshift(16, 2) == 16 >> 2) # → True
print(list(map(operator.rshift, [8, 16, 32], [1, 2, 3]))) # → [4, 4, 4]
print(operator.rshift(-9, 1) == -9 // 2) # → True
print(operator.rshift(1, -1)) # → ValueError
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности