1. 程式人生 > >C、C++ 中 |、||、&、&&、異或、~、!運算詳解

C、C++ 中 |、||、&、&&、異或、~、!運算詳解


1、“按位與”運算子(&)
    按位與是指:參加運算的兩個資料,按二進位制位進行“與”運算。如果兩個相應的二進位制位都為1,則該位的結果值為1;否則為0。這裡的1可以理解為邏輯中的true,0可以理解為邏輯中的false。按位與其實與邏輯上“與”的運算規則一致。邏輯上的“與”,要求運算數全真,結果才為真。若,A=true,B=true,則A∩B=true 例如:3&5 3的二進位制編碼是11(2)。(為了區分十進位制和其他進位制,本文規定,凡是非十進位制的資料均在資料後面加上括號,括號中註明其進位制,二進位制則標記為2)記憶體儲存資料的基本單位是位元組(Byte),一個位元組由8個位(bit)所組成。位是用以描述電腦資料量的最小單位。二進位制系統中,每個0或1就是一個位。將11(2)補足成一個位元組,則是00000011(2)。5的二進位制編碼是101(2),將其補足成一個位元組,則是00000101(2)
按位與運算:
00000011(2)
&00000101(2)
00000001(2)
由此可知3&5=1
c語言程式碼:
#include <stdio.h>
main()
{
int a=3;
int b = 5;
printf("%d",a&b);
}
按位與的用途:
(1)清零
若想對一個儲存單元清零,即使其全部二進位制位為0,只要找一個二進位制數,其中各個位符合一下條件: