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


左移操作(<<)

规则:
左移几位,整体向左移动几位,右边空出的位用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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM