1. 算术左移(<<)—逻辑左移(<<<)
算数左移和逻辑左移都是右边直接补0:
以1010 1010为例:
算术左移一位:0101 0100
逻辑左移一位:0101 0100
2. 算术右移(>>)—逻辑右移(>>>)
算数右移时,符号位要跟着移动,并且在左边补上符号位,即符号位是0则补0是1则补1
逻辑右移时,直接移动,左边补0
以1010 1010为例:
算数右移两位:1110 1010
逻辑右移两位:0010 1010
小结
算数移位主要用于有符号数的操作,逻辑移位主要用于无符号数的操作。