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