異或,與,或運算

2021-09-19 08:06:33 字數 1251 閱讀 1537

參加運算的兩個資料,按二進位制位進行「」運算。

運算規則: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。

參加運算的兩個物件,按二進位制位進行「」運算。

運算規則: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

參加運算的兩個資料,按二進位制位進行「異或」運算。

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

即:參加運算的兩個物件,如果兩個相應位為「異」(值不同),則該位結果為1,否則為0。

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

例題:1073. 多選題常見計分法(20)-pat乙級真題

分析:此題00001代表a正確,00010代表b正確,依次類推,記錄答案,巧妙地用了與或異或運算

題解:

#include#include#includeusing namespace std;

int main(),opt[1010][110]=;

char c;

cin>>n>>m;

vectorfullscore(m),trueopt(m);

vector> cnt(m,vector(5));//vector二維陣列

for(int i=0;i>fullscore[i]>>optnum>>truenum;

for(int j=0;jcnt[i][j]?maxcnt:cnt[i][j];

if(maxcnt==0)

else

} }return 0;

}

按位 與 或 與 異或 運算

規則 有0出0,全1為1 特殊用處 1 清零 如果想將乙個單元清零,即使其全部二進位制位為0,只要與乙個各位都為零的數值相與,結果為零。2 取乙個數中指定位 找乙個數,對應x要取的位,該數的對應位為1,其餘位為零,此數與x相與可以得到x中的指定位。3 x x 得到x的二進位制最右邊的1的位置i 從右...

異或 與 非 或

1.異或 運算子 不同為1,相同為0.輸入 運算子 輸入 結果 1 00 1 10 0 00 0 11 2.與 運算子 在兩個結果同時為1時 結果才為1,否則全部為0.輸入 運算子 輸入 結果 1 01 1 10 0 00 0 11 如 3 5 11 101 001 1 2.取乙個數中指定位 方法 ...

位運算 異或 與 的妙用

2.與 3.異或 與 結合的奇妙例子 真正在公司中的實踐 nosql rdbms 一起使用才是最強的,阿里巴巴的架構演進!技術沒有高低之分,就看你如何去使用!提公升內功,思維的提高!雲計算的長征之路 阿里雲的這群瘋子無進製相加,滿 換律 結合律 0 n n n n 0 int a 16 int b ...