您的位置:首页 > Web前端 > JavaScript

js的左移右移计算

2016-04-18 08:37 423 查看
转载自:http://blog.csdn.net/iceryan/article/details/8550875

正数的左移和右移

以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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: