1. 程式人生 > >基礎算法:與、或、異或運算

基礎算法:與、或、異或運算

不同 規則 strong 異或 兩個 例如 結果 可見 參加

1.與運算(&)

參加運算的兩個數據,按二進制位進行“”運算。

運算規則:0&0=0; 0&1=0; 1&0=0; 1&1=1;

即:兩位同時為“1”,結果才為“1”,否則為0

例如:3&5 即 0000 0011 & 0000 0101 = 0000 0001 因此,3&5的值得1。

例如:9&5 即 0000 1001 (9的二進制補碼)&00000101 (5的二進制補碼) =00000001 (1的二進制補碼)可見9&5=1。

2.或運算(|)

參加運算的兩個對象,按二進制位進行“

”運算。

運算規則:0|0=0; 0|1=1; 1|0=1; 1|1=1;

  即 :參加運算的兩個對象只要有一個為1,其值為1。

例如:3|5 即 0000 0011 | 0000 0101 = 0000 0111 因此,3|5的值得7。 

例如:9|5可寫算式如下: 00001001|00000101 =00001101 (十進制為13)可見9|5=13

3.異或運算(^)

參加運算的兩個數據,按二進制位進行“異或”運算。

運算規則:0^0=0; 0^1=1; 1^0=1; 1^1=0;

  即:參加運算的兩個對象,如果兩個相應位為“異”(值不同),則該位結果為1,否則為0。

例如:9^5可寫成算式如下: 00001001^00000101=00001100 (十進制為12)可見9^5=12

基礎算法:與、或、異或運算