位運算之左移右移運算之詳解


左移操作(<<)

規則:
左移幾位,整體向左移動幾位,右邊空出的位用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