注意!C語言中&與&&不只是多一個符號的區別,而是...


一、簡要說明

按位與: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”

編程學習書籍:


 

編程學習視頻:


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM