JavaScript 中的位元運算:揭開單一管道("|") 運算子的神秘面紗
單管道("|" ) JavaScript 中的運算子執行位元或運算,這對於操作二進位表示中的各個位元至關重要。與 || 等對布林值執行運算的邏輯運算子不同,位元運算子直接對整數的二進位表示形式進行操作。
具體來說,位元或運算子「|」計算兩個整數運算元的邏輯或。這意味著對於操作數的二進位表示中的每個位元位置,如果至少有一位為 1,則結果位元為 1。
a | b = (a_n OR b_n) FOR ALL n
但是,由於位元運算僅對整數有意義,因此 JavaScript在執行操作之前將非整數值截斷為整數。這可能會導致意外結果,如提供的範例所示:
console.log(0.5 | 0); // 0 console.log(-1 | 0); // -1 console.log(1 | 0); // 1
在第一個範例中,在與 0 執行位元或運算之前,0.5 被截斷為 0。由於兩個操作數均為 0,因此結果為 0。
在第二個範例中,當與 0(二進位表示:00000000000000000000000000000000)執行位元或運算時,-1(二進位表示:11111111111111111111111111111111111111位元
在最後一個範例中,1(二進位表示形式:00000000000000000000000000000001)再次保持不變,結果為 1。
因此,對於整數, x | 0 簡單地傳回 x。
以上是位元或運算子「|」在 JavaScript 中如何運作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!