概念區(qū)分
& 按位與:a&b是把a(bǔ)和b都轉(zhuǎn)換成二進(jìn)制數(shù)然后再進(jìn)行與的運(yùn)算桐磁;
&& 邏輯與:a&&b就是當(dāng)且僅當(dāng)兩個(gè)操作數(shù)均為 true時(shí),其結(jié)果才為 true辖试;只要有一個(gè)為零冒黑,a&&b就為零熄攘。
例如:
a&b 9&8
1001
1000
結(jié)果是1000
a&&b 9&&8 結(jié)果是1
重點(diǎn)
- & : 對(duì)每一個(gè)都判斷姚淆;
- && : 只要前面是false就輸出false孕蝉,而不繼續(xù)判斷后面了。
詳細(xì)解釋
& 腌逢,雙目運(yùn)算符:將兩個(gè)表達(dá)式的值按二進(jìn)制位展開降淮,對(duì)應(yīng)的位(bit)按值進(jìn)行“與”運(yùn)算,結(jié)果保留在該位上搏讶。
例:170&204
對(duì)應(yīng)二進(jìn)制:
10101010B &
11001100B =
10001000B
所以 170&204=136
如果兩數(shù)位數(shù)不同佳鳖,則較短數(shù)高位補(bǔ)零,再運(yùn)算媒惕。
例:char a=100; int b=260;
a&b 即:
0000 0000 0110 0100 &
0000 0001 0000 0100 =
結(jié)果為int型
0000 0000 000 0100
即4
&& 系吩,雙目運(yùn)算符:計(jì)算兩個(gè)表達(dá)式同時(shí)成立的“真值”(同時(shí)成立真值為真,否則為假)妒蔚。邏輯真值有兩種淑玫,1為真,0為假面睛,但在運(yùn)算時(shí)用非零表示真絮蒿,0表示假
即:
數(shù)值->邏輯真值 —— 非0為真,0為假叁鉴;
邏輯真值->數(shù)值 —— 真為1土涝,假為0。
例:
char a=1, b=0, c=-1;
那么a真b假c真幌墓。a&&b和c&&b為假值為0但壮,a&&c為真值為1。
另外常侣,|和||區(qū)別與此類似蜡饵。