位运算之左移右移运算之详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

位运算之左移右移运算之详解
左移操作(<<)
规则:
左移⼏位,整体向左移动⼏位,右边空出的位⽤0填补,⾼位左移溢出则舍弃该⾼位。

总结:左移⼏位,相当于原数*2的N次⽅;
例⼦:2021<<3;
⾸先将2021转为2进制为11111100101;然后将11111100101整体左移3位,得到结果为11111100101000;再将该结果转为⼆进制,得到转换后的结果为16168;
JS代码实现;
var n = 2021;
var a = n.toString(2); // 11111100101
var s = "11111100101000"; // 上⾯数字左移3位的结果
var result = parseInt(s,2); // 得到 16168
右移操作(>>)
左边空出的位⽤0或者1填补。

正数⽤0填补,负数⽤1填补。

注:不同的环境填补⽅式可能不同;低位右移溢出则舍弃该位。

例⼦:2021>>3;
⾸先将2021转为2进制为11111100101;然后将11111100101整体右移3位,得到结果为00011111100;再将该结果转为⼆进制,得到转换后的结果为252;
JS代码实现;
var n = 2021;
var a = n.toString(2); // 11111100101
var s = "00011111100"; // 上⾯数字右移3位的结果
var result = parseInt(s,2); // 得到 252。

相关文档
最新文档