1. 算术左移和逻辑左移
对于有符号数或无符号数:算术左移 == 逻辑左移。
操作逻辑:丢弃高位,低位补0。
数值变化:左移n位,相当于乘以2的n次方。(对于无符号数、有符号数的正数或负数,均成立)。
2. 算术右移和逻辑右移
分类 |
算术右移 |
逻辑右移 |
注 |
无符号数 |
丢弃低位,高位补0 |
丢弃低位,高位补0 |
对于无符号数,算术右移 == 逻辑右移 |
有符号数 |
丢弃低位,高位补符号位 (正数为0,负数为1) |
丢弃低位,高位补0 |
对于有符号数,算术右移 != 逻辑右移 |
【注】对于无符号数、有符号数的正数: