位元運算子 | javascript
位元運算子將運算元視為一段32位元長的0和1序列,而不是十進位、十六進位或八進位的 Numbers[1]。舉例來說,十進位的9可以用二進位表示為1001。位元運算子對這樣的二進位表示法進行運算,然後回傳標準JavaScript數值。ThesourceforthisinteractiveexampleisstoredinaGitHubrepository.Ifyoudliketocontributetotheinteractiveexamplesproject,pleaseclonehttps://github.com/mdn/interactive-examples[2]andsendusapullrequest.下表總結了JavaScript的位元運算子:OperatorUsageDescription位元AND[3]a&b當兩運算元的該位置皆為1...
位元運算子將運算元視為一段 32 位元長的 0 和 1 序列,而不是十進位、十六進位或八進位的 Numbers[1]。 舉例來說,十進位的 9 可以用二進位表示為 1001。位元運算子對這樣的二進位表示法進行運算,然後回傳標準 JavaScript 數值。
The source for this interactive example is stored in a GitHub repository. If youd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples[2] and send us a pull request.
下表總結了 JavaScript 的位元運算子:
Operator Usage Description 位元 AND[3] a & b 當兩運算元的該位置皆為 1 時,回傳值的該位置為 1。 位元 OR[4] a | b 當兩運算元的該位置有一者為 1 時,回傳值的該位置為 1。 位元 XOR[5] a b 當兩運算元的該位置恰好一者為 1 時,回傳值的該位置為 1。 位元 NOT[6] ~ a 將運算元的所有位元反轉。 左移[7] a << b 將 a 的二進位表示法左移 b (< 32) 位元,右側補 0。 保持符號右移[8] a >> b 將 a 的二進位表示法右移 b (< 32) 位元,拋棄被移出的位元。 填零右移[9] a >>> b 將 a 的二進位表示法右移 b (< 32) 位元,拋棄被移出的位元,並於右側補 0。 帶號的 32位元整數所有位元運算子的運算元皆會被轉換成二補數系統[10]下的帶號32位元整數。二補數系統意味著一個整數的加法反元素(例如 5和 -5)是該整數的所有位元反轉(位元 NOT,也就是該數的一補數) 再加一。舉例來說,下面的序列代表著整數...