- 正数右移 (5>>2)
a) 5的原码
b) 5的反码
c) 5的补码
0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0101 |
右移
0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0001 |
结果
0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0001 |
- 负数右移(-5>>2)
a) -5的原码
1000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0101 |
b) -5的反码
1111 | 1111 | 1111 | 1111 | 1111 | 1111 | 1111 | 1010 |
c) -5的补码
1111 | 1111 | 1111 | 1111 | 1111 | 1111 | 1111 | 1011 |
右移用1补
1111 | 1111 | 1111 | 1111 | 1111 | 1111 | 1111 | 1110 |
反码 = 补码 -1
1111 | 1111 | 1111 | 1111 | 1111 | 1111 | 1111 | 1101 |
原码
1000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0000 | 0010 |