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
- C++中實現無符號右移C++符號
- JavaScript (+) 正號運算子JavaScript
- JavaScript + 正號運算子JavaScript
- JavaScript == 等號運算子JavaScript
- JavaScript - 負號運算子JavaScript
- JavaScript 等號 = 賦值運算子JavaScript賦值
- JavaScript (>) 大於運算子JavaScript
- javascript等號==運算子用法介紹JavaScript
- JavaScript 小括號()分組運算子JavaScript
- 關於有符號與無符號的位元組符號
- javascript運算子——條件、逗號、賦值、()和void運算子JavaScript賦值
- JavaScript 32位整型無符號操作JavaScript符號
- 無符號數相減得到的是無符號還是有符號?符號
- javascript賦值運算子等號=深入介紹JavaScript賦值
- [C]有符號數和無符號數符號
- mybatis大於號,小於號,去地址符,單引號,雙引號轉義說明MyBatis
- JavaScript 識別符號JavaScript符號
- Verilog有符號數、無符號數之間的賦值與運算符號賦值
- Java的左移和右移運算子Java
- javascript的逗號運算子的用法簡單介紹JavaScript
- latex 屬於符號和根號符號
- JavaScript兩個等號和三個等號區別JavaScript
- JavaScript (,)逗號操作符JavaScript
- JavaScript (<) 小於運算子JavaScript
- C語言之有符號無符號整數取值範圍C語言符號
- JavaScript 三元運算子JavaScript
- JavaScript 兩個++ 運算子JavaScript
- sympy —— Python 符號運算Python符號
- C# ?問號運算子知多少C#
- 【C進階】18、三目運算子和逗號表示式
- 賦值運算子和+號的用法(兩個練習)賦值
- C#運算子大全-各種運算子號的意思和作用C#
- 4,javase程式碼實戰-運算子——左移右移實現乘除(三)Java
- 無法解析的外部符號符號
- JS逗號運算子的用法詳解JS
- Linux Shell 雙括號運算子使用Linux