C語言基礎應用
&與&&區別
&(按位與):A&B,將A,B分別轉變爲二進制進行按位比較,只有當都爲1時,本位才爲1;其他爲0,位數不夠補0。
如3&6,對應011&110=10=2
&&(邏輯與):當兩邊的值都爲1時,才爲1,;其他爲0。
如3&&0=0,3&&2=1
|與||區別
|(按位或):A|B,將A,B分別轉變爲二進制進行按位比較,只有當都爲0時,本位才爲0;其他爲1,位數不夠補0。
如2|4,對應010|100=110=6
||(邏輯或):當兩邊的值都爲0時,才爲0,;其他爲1。
如3||0=1,0&&0=0
舉個複雜點的例子吧
A=1|2|3 B=A&1=? C=A&2=? D=A&3=?
A=01|10|11=(01|10)|11=11,那麼B、C、D是不是也好說了呢~~