位移运算
右移
有符号
负数 -10:
1、先写出原码:11010
2、符号位不变,其他位置取反后加1:10110
3、右移四位,高位补1:11111
4、符号位不变,其他位置取反后加1:10001
5、结果即为-1
正数+10:【即为整除2^N】
1、写出原码:01010
2、右移四位,高位补0:00000
3、结果即为0
无符号
按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补零。对于正数来说和带符号右移相同,对于负数来说不同
正数10:【即为整除2^N】
1、写出原码:1010
2、右移四位,高位补0:0000
3、结果即为0
负数-10:
无符号负数右移,就是相应的补码移位所得,在高位补0即可
1、先写出原码:11010
2、符号位不变,其他位置取反后加1:10110
3、右移四位,高位补0:00001
5、结果即为1
左移
左移是不分有符号和无符号的,左移N位,相当于【乘以2^N】
±10左移4位:
±10✖2^4 = ±160