移位运算

位移运算

右移

有符号

负数 -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

参考

1、位移1 位移2

posted @ 2021-03-25 13:45  PamShao  阅读(419)  评论(0编辑  收藏  举报