ECMAScript 運算子 位運算子

2022-04-03 23:30:47 字數 1029 閱讀 9301

位運算子是在數字底層(即表示數字的 32 個數字)進行操作的

重溫整數

ecmascript 整數有兩種型別,即有符號整數(允許用正數和負數)和無符號整數(只允許用正數)。在 ecmascript 中,所有整數字面量預設都是有符號整數,這意味著什麼呢?

有符號整數使用 31 位表示整數的數值,用第 32 位表示整數的符號,0 表示正數,1 表示負數。數值範圍從 -2147483648 到 2147483647。

可以以兩種不同的方式儲存二進位制形式的有符號整數,一種用於儲存正數,一種用於儲存負數。正數是以真二進位制形式儲存的,前 31 位中的每一位都表示 2 的冪,從第 1 位(位 0)開始,表示 20,第 2 位(位 1)表示 21。沒用到的位用 0 填充,即忽略不計

位運算 not

位運算 not 由否定號(~)表示,它是 ecmascript 中為數不多的與二進位制算術有關的運算子之一。

位運算 not 是三步的處理過程:

把運算數轉換成 32 位數字

把二進位制數轉換成它的二進位制反碼

把二進位制數轉換成浮點數

位運算 and

位運算 and 由和號(&)表示,直接對數字的二進位制形式進行運算

位運算 or

位運算 or 由符號(|)表示,也是直接對數字的二進位制形式進行運算

位運算 xor

位運算 xor 由符號(^)表示,當然,也是直接對二進位制形式進行運算。xor 不同於 or,當只有乙個數字存放的是 1 時,它才返回 1。

左移運算

左移運算由兩個小於號表示(<<)。它把數字中的所有數字向左移動指定的數量

有符號右移運算

有符號右移運算子由兩個大於號表示(>>)。它把 32 位數字中的所有數字整體右移,同時保留該數的符號(正號或負號)。有符號右移運算子恰好與左移運算相反

無符號右移運算

無符號右移運算子由三個大於號(>>>)表示,它將無符號 32 位數的所有數字整體右移。對於正數,無符號右移運算的結果與有符號右移運算一樣。

js左移運算子 ECMAScript 位運算子

重溫整數 ecmascript 整數有兩種型別,即有符號整數 允許用正數和負數 和無符號整數 只允許用正數 在 ecmascript 中,所有整數字面量預設都是有符號整數,這意味著什麼呢?有符號整數使用 31 位表示整數的數值,用第 32 位表示整數的符號,0 表示正數,1 表示負數。數值範圍從 2...

ECMAScript 等性運算子

判斷兩個變數是否相等是程式設計中非常重要的運算。在處理原始值時,這種運算相當簡單,但涉及物件,任務就稍有點複雜。ecmascript 提供了兩套等性運算子 等號和非等號用於處理原始值,全等號和非全等號用於處理物件。在 ecmascript 中,等號由雙等號 表示,當且僅當兩個運算數相等時,它返回 t...

位運算子,「,」逗號運算子,

位運算子有 按位與 按位或 按位異或 按位取反 優先順序從高到低,依次為 按位與運算有兩種典型用法,一是取乙個位串資訊的某幾位,如以下 擷取x的最低7位 x 0177。二是讓某變數保留某幾位,其餘位置0,如以下 讓x只保留最低6位 x x 077。按位或運算的典型用法是將乙個位串資訊的某幾位置為1。...