Java 提供四大位運算符直接操作二進制位:&(位與)、|(位或)、^(異或)、~(取反)。它們執行效率極高,是網絡編程、硬件控制、加密算法的基石。
0 開頭,十六進制以 0x 開頭int 類型&)規則:對應位全為 1 結果才為 1,否則為 0
典型用途:屏蔽特定位(與 0 運算結果為 0)
int a = 4; // 0100
int b = 10; // 1010
a & b = 0 // 0000
|)規則:對應位有 1 結果即為 1
典型用途:設置特定位為 1(與 1 運算結果為 1)
int a = 4; // 0100
int b = -10; // ...0110 (補碼)
a | b = -10 // 保持負數特征位
^)規則:對應位相同為 0,不同為 1
典型用途:判斷位是否相同、無臨時變量交換數值
int a = 4; // 0100
int b = 10; // 1010
a ^ b = 14 // 1110
~)規則:單目運算,0→1,1→0
典型用途:反轉所有位、配合掩碼使用
int a = 4; // 0000...0100
~a = -5 // 1111...1011 (補碼表示)
int m = n & 0x7FFFFFFF; // 清除符號位
boolean b = (n & 0x4) != 0; // 0x4 = 0100
int m = n | 0x8; // 0x8 = 1000
位運算符直接映射 CPU 電路邏輯門(AND/OR/XOR/NOT),具有硬件級執行效率。實際開發中:
0xFF、0x7F)提升可讀性