JavaScript >>> 三個大於號無符號右移運算子
>>>運算子由三個大於號構成,是一個二進位制運算子。
也就是對二進位制數字進行操作,具有兩大特點:
(1).首先,是無符號。
(2).其次,是右移。
二進位制正負數表示法與十進位制不同,十進位制前面使用正負號表示(正號可以省略)。
二進位制數字的最高位是符號位,正數的最高位是0,負數的最高位是1。
下面將結合程式碼例項分析一下此運算子的主要特點。
以如下二進位制數字為例子進行演示:
[JavaScript] 純文字檢視 複製程式碼00000000000000000000000011111111
上面是32位二進位制數字,轉換成十進位制是255。
所謂的右移是將二進位制數字整體向右平移,但是位數保持不變。
也就是向右移動一位,那麼右邊的數字就會被切割掉一位,在左邊再補充一位。
假如向右移動六位,上述二進位制數字變為:
[JavaScript] 純文字檢視 複製程式碼00000000000000000000000000000011
原來二進位制數字的右邊的六個1將被切掉,左邊會補充6個0。
所謂的無符號,就是無論被右移的數字是正數還是負數,右移後,左邊空出來的位用0填充。
與有符號右移運算子不同,具體參閱JavaScript 有符號右移運算子一章節。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼執行程式碼let view32 = new Int32Array(1); view32[0] = 255; let newNum=view32[0]>>>6; console.log(newNum);
程式碼執行效果截圖如下:
程式碼分析如下:
(1).首先建立一個32位二進位制陣列,也就是每一個陣列元素都是32位二進位制數字。
(2).將第一個陣列元素賦值為255,當然儲存的是二進位制形式。
(3).然後將第一個陣列元素的二進位制陣列右移6位,變成00000000000000000000000000000011。
(4).最後列印出結果3。
再來看一段程式碼例項:
[JavaScript] 純文字檢視 複製程式碼執行程式碼let view32 = new Int32Array(1); view32[0] = -50; var newNum=view32[0]>>>6; console.log(newNum);
程式碼執行效果截圖如下:
程式碼分析如下:
(1).建立一個有符號32位二進位制陣列。
(2).陣列的第一個元素是負數。
(3).但是通過無符號右移運算子計算之後,數字變為正數。
(4).由此可見,此運算子無論對於負數還是正數,左側只會進行補零操作。
相關文章
- JavaScript >> 有符號右移運算子JavaScript符號
- JavaScript 三個等號 === 全等運算子JavaScript
- JavaScript == 等號運算子JavaScript
- JavaScript - 負號運算子JavaScript
- JavaScript + 正號運算子JavaScript
- JavaScript (+) 正號運算子JavaScript
- JavaScript 等號 = 賦值運算子JavaScript賦值
- JavaScript (>) 大於運算子JavaScript
- [C]有符號數和無符號數符號
- Verilog有符號數、無符號數之間的賦值與運算符號賦值
- JavaScript兩個等號和三個等號區別JavaScript
- latex 屬於符號和根號符號
- JavaScript (,)逗號操作符JavaScript
- Java的左移和右移運算子Java
- JavaScript (<) 小於運算子JavaScript
- 【C】 18_三目運算子和逗號表示式
- JavaScript 三元運算子JavaScript
- JavaScript 兩個++ 運算子JavaScript
- 【C進階】18、三目運算子和逗號表示式
- 賦值運算子和+號的用法(兩個練習)賦值
- java基本無法-識別符號Java符號
- JavaScript 2.3 js之||、&&、|、&、三目運算子JavaScriptJS
- Sympy玩轉邏輯符號運算符號
- 兩個新出的 JavaScript 運算子JavaScript
- 搜狐號多賬號運營工具,多個賬號同步運營
- CSS @ 符號CSS符號
- java基礎一:基本型別,運算子號Java型別
- JavaScript in 運算子JavaScript
- JavaScript運算子JavaScript
- JavaScript -= 運算子JavaScript
- JavaScript += 運算子JavaScript
- JavaScript *= 運算子JavaScript
- JavaScript %= 運算子JavaScript
- JavaScript |= 運算子JavaScript
- JavaScript <<= 運算子JavaScript
- JavaScript >>>= 運算子JavaScript
- JavaScript >>= 運算子JavaScript
- JavaScript &= 運算子JavaScript