欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

javascript位運算詳解

張春美1年前8瀏覽0評論

JavaScript中的位運算是指以二進制形式操作的運算,包括按位與(&)、按位或(|)、按位異或(^)、左移(<<)、有符號右移(>>)和無符號右移(>>>)。

按位與(&)運算符會對兩個操作數的每個二進制位進行比較,只有當兩個相應的二進制位都為1時,結果為1;其他情況下結果為0。例如,3 & 6 的二進制表示分別為 011 和 110,所以按位與運算結果為 010,即2。

console.log(3 & 6); //輸出2

按位或(|)運算符也會對兩個操作數的每個二進制位進行比較,只有當兩個相應的二進制位都為0時,結果為0;其他情況下結果為1。例如,3 | 6 的二進制表示分別為 011 和 110,所以按位或運算結果為 111,即7。

console.log(3 | 6); //輸出7

按位異或(^)運算符也會對兩個操作數的每個二進制位進行比較,只有當兩個相應的二進制位不相同時,結果為1;相同時結果為0。例如,3 ^ 6 的二進制表示分別為 011 和 110,所以按位異或運算結果為 101,即5。

console.log(3 ^ 6); //輸出5

左移(<<)運算符可以將一個數向左移動指定位數,相當于乘以 $2^n$,其中n是向左移動的位數。例如,3<< 2 等同于 3 * $2^2$,即12。

console.log(3 << 2); //輸出12

右移(>>)運算符可以將一個數向右移動指定位數,相當于除以 $2^n$,其中n是向右移動的位數。對于有符號整數,右移會保留符號位不變。例如,-16 >>2 的二進制表示為 11111111111111111111111111110000,向右移動2位后變為 11111111111111111111111111111100,即-4。

console.log(-16 >> 2); //輸出-4

無符號右移(>>>)運算符將一個數向右移動指定位數,并插入0位。對于無符號整數,右移沒有符號位,所以結果總是非負。例如,-16 >>>2 的二進制表示為 11111111111111111111111111110000,向右移動2位后插入0位變為 00111111111111111111111111111100,即1073741820。

console.log(-16 >>> 2); //輸出1073741820

以上是JavaScript中的位運算符,這些運算符廣泛用于編寫高效的位操作和二進制處理代碼。