按位與運算符(&)
參加運算的兩個數據,按二進制位進行“與”運算。
運算規則:0&0=0; 0&1=0; 1&0=0; 1&1=1;
即:當且僅當同時爲1時,結果爲1,;否則,爲0;(全1爲1)
例如:3&5 即 0000 0011 & 0000 0101 = 0000 0001 因此,3&5的值得1。
注:負數按補碼形式參加按位與運算。
按位或運算符(|)
參加運算的兩個對象,按二進制位進行“或”運算。
運算規則:0|0=0; 0|1=1; 1|0=1; 1|1=1;
即 :只要有一個爲1,結果就爲1。(有1爲1)
例如:3|5 即 0000 0011 | 0000 0101 = 0000 0111 因此,3|5的值得7。
異或運算符(^)
參加運算的兩個數據,按二進制位進行“異或”運算。
運算規則:0^0=0; 0^1=1; 1^0=1; 1^1=0;
即:同爲0,異爲1。按位異或運算的規律是
定理一a ^ b = b ^ a
定理二 a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c;
定理三 a ^ b ^ a = b, a ^ a^ b = b, b ^ a^ a = b
定理四若d = a ^ b ^ c,則a = d ^ b ^ c證明:
在d = a ^ b ^ c兩邊同時異或^ b ^ c,得
d ^ b ^ c =a ^ b ^ c ^ b ^ c
d ^ b ^ c =a ^ b ^ b ^ c ^ c,由定理三得
d ^ b ^ c =a ^ c ^ c,同樣由定理三得
d ^ b ^ c =a*特點:數a兩次異或同一個數b(a=a^b^b)仍然爲原值a.