一、簡要說明
按位與:a&b是把a和b都轉換成二進制數然后再進行與的運算;
邏輯與:a&&b就是當且僅當兩個操作數均為 true時,其結果才為 true;只要有一個為零,a&&b就為零。
例如:
a&b 9&8
1001
1000
結果是1000
a&&b 9&&8 結果是1
&對每一個都判斷;
&&只要前面是false就輸出false,而不繼續判斷后面了。

二、詳細解釋
有關&和&&的詳細解釋如下:
1、&,雙目運算符:將兩個表達式的值按二進制位展開,對應的位(bit)按值進行“與”運算,結果保留在該位上…
比如170&204
對應二進制就是
10101010B
&11001100B
=10001000B…
170&204=136…
該位只要有一個值為0結果為0,否則結果為1。
如果兩數位數不同,則較短數高位補零,再運算,比如char a=100;intb=260;
a&b實際是0000 0000 01100100&0000 0001 0000 0100.其結果為int型0000 0000 0000100即4…
2、&&:雙目運算符,計算兩個表達式同時成立的“真值”(同時成立真值為真否則為假)
邏輯真值有兩種,1為真,0為假,但在運算時用非零表示真,0表示假…
即:數值->邏輯真值--非0為真,0為假/邏輯真值->數值--真為1,假為0…
例如:chara=1,b=0,c=-1;那么a真b假c真。a&&b和c&&b為假值為0,a&&c為真值為1。

以上就是關於對C語言&與&&的區別的詳細介紹,希望對大家的學習有所幫助。

最后,如果你也想成為程序員,想要快速掌握編程,趕緊加入學習企鵝圈子!
里面有資深專業軟件開發工程師,在線解答你的所有疑惑~編程語言入門“so easy”
編程學習書籍:

編程學習視頻:
