讓人不頭疼的&,&&,|,||

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是不是也好說了呢~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章