
【計】 bitwise operator
【計】 bit-by-bit; bitwise
【計】 OP; operator symbol
【化】 operator
在計算機科學中,按位算符(英文:Bitwise Operators)是一類直接對整數在二進制位(bit)級别進行操作的運算符。它們作用于整數的每一位(0或1),而非整個數值本身。以下是主要按位算符的詳細解釋:
按位與 (Bitwise AND - &
):
5 & 3
(二進制:101 & 011
) = 001
(十進制 1)。value & 0xFF
可以獲取一個整數的低8位。按位或 (Bitwise OR - |
):
5 | 3
(二進制:101 | 011
) = 111
(十進制 7)。按位異或 (Bitwise XOR - ^
):
5 ^ 3
(二進制:101 ^ 011
) = 110
(十進制 6)。按位取反 (Bitwise NOT - ~
):
~5
(假設8位系統,二進制 00000101
) = 11111010
(十進制 -6,在補碼表示法中)。左移 (Left Shift - <<
):
5 << 1
(二進制 101
左移1位) = 1010
(十進制 10)。右移 (Right Shift - >>
):
5 >> 1
(無符號數 101
右移1位) = 010
(十進制 2)。-5 >> 1
(補碼 11111011
右移1位,符號位填充) = 11111101
(十進制 -3)。核心概念
&&
, ||
, !
)操作的是布爾值(真/假),而按位運算符操作的是整數中的各個位。參考來源:
按位運算符是直接對二進制數的每一位進行運算的操作符,常見于底層編程、硬件操作和性能優化場景。以下是主要按位運算符的詳細解釋:
按位與(AND)
符號:&
規則:兩位同時為1時結果為1,否則為0
示例:
5 (101) & 3 (011) → 1 (001)
用途:提取特定位、清零操作。
按位或(OR)
符號:|
規則:任意一位為1則結果為1
示例:
5 (101) | 3 (011) → 7 (111)
用途:設置特定位為1。
按位異或(XOR)
符號:^
規則:兩位不同則為1,相同則為0
示例:
5 (101) ^ 3 (011) → 6 (110)
用途:交換變量值、數據加密。
按位取反(NOT)
符號:~
(單目運算符)
規則:0變1,1變0
示例(假設8位有符號數):
~5 (00000101) → 250 (11111010)
位移運算符
<<
:5 << 1 → 10
(相當于乘以2)>>
:-8 >> 1 → -4
應用場景:
注意:不同編程語言對位移運算符的處理可能不同(如Java有>>>
無符號右移),使用前需查閱具體語言規範。按位運算雖然高效,但會降低代碼可讀性,建議在必要時添加注釋說明。
安全守則螯形聚合物部門别成本會計船舶噸稅吹入聰明蛋白細胞分離電解記錄反應性底漆飛輪輻氟司必林公職權力故障空間堅持激場場聲器可結婚的籃式精泸器磷酸汞龍舌蘭酵汁馬尚氏腦膜附着區颞面的平版膠印術切向分量去勢熱載體加熱爐十二指腸結腸系膜上隱窩通信量處理程式未動用資本未透露的