左移和右移计算

左移和右移计算

正数的左移和右移

以3为例

3的二进制为

00000011

右移2位的时候将最右的11去掉左边补00结果为:00000000  --- >十进是中的0

左移2位的时候将最左的00去掉右边补00结果为:00001100 ----->十进是中的12


对于-3来说,负数的都是以补码的形式存在于计算器中

补码  = 反码+1

-3的二进制为

100000011

取反的补码为(符号为不变) 

111111100

再加1,为补码11111101


右移2位的时候将最右的01去掉左边补11结果为:11111111 ---> 为补码,要求原码

还需要-1 :11111110 ,再取反(符号位不动) :10000001:------>十进制中的-1,所以-3的右移2位为十进制中的-1


左移2位的时候将最左边11去掉右边补00结果为:11110100 ----> 为补码,要求原码

还需要-1:11110011,再取反(符号位不动):10001100:----->十进制中的-12,所以-3的左移2位为十进制中的-12

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页