Python Glossary English

все 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Сообщить о неточности