>>= Right shift assignment
Last updated: 2026-09-22
>>= Right shift assignment
>>= shifts the bits of the left variable right by the amount of the right value, equivalent to x = x >> y.
| Category | Operators |
|---|---|
| Kind | Operator |
📝 Syntax
x >>= y
▶ Example
Edit the code, press Run, and see the result in the output panel:
Output:
2
💡 Related Cases
More case studies coming soon — check back later.
❓ FAQ
QWhat does x >>= 2 equal?
AIt divides `x` by 4 and floors the result: with `x = 8; x >>= 2`, `x == 2`. Negative numbers are treated as arithmetic shifts: with `x = -1; x >>= 1`, `x` is still `-1`.
QMust n in x >>= n be an integer?
AYes. The shift count must be an integer; a float raises `TypeError: unsupported operand type(s) for >>`.
QWhen do right-shift assignment and floor-division assignment give different results?
A`>>=` only divides by a power of two: with `x = 15; x >>= 2`, it is equivalent to `x //= 4` (both give 3); but `x //= 3` accepts any positive integer divisor, while `>>=` can only shift by a power of two.