Trace 4-bit example: n = 1011 (binary).
result = 0.
Iter 1: result = 0 << 1 | (1011 & 1) = 0 | 1 = 1. n = 101. Iter 2: result = 1 << 1 | (101 & 1) = 10 | 1 = 11. n = 10. Iter 3: result = 11 << 1 | (10 & 1) = 110 | 0 = 110. n = 1. Iter 4: result = 110 << 1 | (1 & 1) = 1100 | 1 = 1101. n = 0.
Reversed: 1101.
time. space.