JavaScript << 左移運算子
左移運算子由兩個小於號(<<)表示。
它能夠將二進位制數整體向左移動指定的位數。
程式碼例項:
以數字4為例子做一下介紹,它的二進位制表示為:
[JavaScript] 純文字檢視 複製程式碼100
如果將其左移2位,那麼就變成了:
[JavaScript] 純文字檢視 複製程式碼10000
結果為16,程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼執行程式碼var num = 4; var newNum = num << 2; console.log(newNum);
特別說明:在左移的時候,數字的右側多出的空位用0填充。
對於負數也是這樣的,負數在計算機中是用二進位制原碼的補碼錶示。
[JavaScript] 純文字檢視 複製程式碼執行程式碼var view32 = new Int32Array(1); view32[0] = -520; var new26=view32[0]<<26; var new22=view32[0]<<22; console.log(new26); console.log(new22);
上面的程式碼解析如下:
[JavaScript] 純文字檢視 複製程式碼00000000000000000000001000001000//520 //負數是二進位制原碼的補碼 11111111111111111111110111111000//-520
-520二進位制數左移22位,恰好是二進位制數從左邊數第一個0(11111111111111111111110111111000)在最高位(符號位),所以輸出正數。
也就是說左移的時候不會保留符號位。
相關文章
- Java的左移和右移運算子Java
- JavaScript運算子JavaScript
- JavaScript -= 運算子JavaScript
- JavaScript += 運算子JavaScript
- JavaScript *= 運算子JavaScript
- JavaScript %= 運算子JavaScript
- JavaScript |= 運算子JavaScript
- JavaScript <<= 運算子JavaScript
- JavaScript >>>= 運算子JavaScript
- JavaScript >>= 運算子JavaScript
- JavaScript &= 運算子JavaScript
- JavaScript ^= 運算子JavaScript
- JavaScript /= 運算子JavaScript
- JavaScript in 運算子JavaScript
- javascript中&&運算子和||運算子的使用JavaScript
- JavaScript * 乘法運算子JavaScript
- JavaScript / 除法運算子JavaScript
- JavaScript void 運算子JavaScript
- JavaScript + 加法運算子JavaScript
- JavaScript new 運算子JavaScript
- JavaScript typeof 運算子JavaScript
- JavaScript (+) 加法運算子JavaScript
- 訊飛:JavaScript 運算子JavaScript
- JavaScript 條件運算子JavaScript
- JavaScript - 減法運算子JavaScript
- JavaScript (<) 小於運算子JavaScript
- JavaScript == 等號運算子JavaScript
- JavaScript - 負號運算子JavaScript
- JavaScript !== 不全等運算子JavaScript
- JavaScript 兩個++ 運算子JavaScript
- JavaScript % 求餘運算子JavaScript
- JavaScript (>) 大於運算子JavaScript
- JavaScript 展開運算子JavaScript
- JavaScript + 正號運算子JavaScript
- JavaScript (+) 正號運算子JavaScript
- JavaScript (--) 遞減運算子JavaScript
- JavaScript 剩餘運算子JavaScript
- JavaScript 手寫new運算子JavaScript