按位與:a&b是把a和b都轉換成二進制數而後再進行與的運算;程序員
邏輯與:a&&b就是當且僅當兩個操做數均爲 true時,其結果才爲 true;只要有一個爲零,a&&b就爲零。編程
例如: 編程語言
a&b 9&8 學習
1001 spa
1000視頻
結果是1000 blog
a&&b 9&&8 結果是1開發
&對每個都判斷;get
&&只要前面是false就輸出false,而不繼續判斷後面了。it
有關&和&&的詳細解釋以下:
一、&,雙目運算符:將兩個表達式的值按二進制位展開,對應的位(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…
二、&&:雙目運算符,計算兩個表達式同時成立的「真值」(同時成立真值爲真不然爲假)
邏輯真值有兩種,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」
編程學習書籍:
編程學習視頻: