位移运算
- 无符号位移
- >>> 无符号右移,无符号位运算用 0 补位
- <<< 无符号左移
- 带符号位移
-
>> 带符号右移,符号位保持不变,抹掉最低位,最高位正数补 0 ,负数补 1 (称为符号位扩展)
例如,7>>1时,二进制7为 0000 0000 0000 0000 0000 0000 0000 0111,右移一位为 0000 0000 0000 0000 0000 0000 0000 0011。
-7>>1时,二进制-7为 1000 0000 0000 0000 0000 0000 0000 0111,右移一位为 1100 0000 0000 0000 0000 0000 0000 0011
-
<< 带符号左移,符号位保持不变,抹掉最高位,最低位补 0
- 数学意义
向左位移相当于乘以 2^n ,向右移动正数相当于除以 2^n ( n 为位移的位数)
网友评论