規則
C/C++中的“按位與”
規則:
1&1=1
1&0=0
0&1=0
0&0=0
按位與運算 按位與運算符“&”是雙目運算符。其功能是參與運算的兩數各對應的二進位相與。只要對應的二個二進位都為1時,結果位就為1。參與運算的兩個數均以補碼出現。 例如:3&10可寫算式如下: 00000011&00001010 00000010 十進制2
main()
{
int a=3,b=10,z;
z=a&b;
printf("a=%d\nb=%d\nz=%d\n",a,b,z);
}
位運算
整數在計算機中用二進制的位來表示,C語言提供一些運算符可以直接操作整數中的位,稱為位運算,這些運算符的運算元都必須是整型的。
& 按位與, | 按位或 , ^ 按位異或
AND (位與&) OR ( 位或| ) XOR ( 位異或^ )
1 & 1 = 1, 1 | 1 = 1, 1 ^ 1 = 0
1 & 0 = 0, 1 | 0 = 1, 1 ^ 0 = 1
0 & 1 = 0, 0 | 1 = 1, 0 ^ 1 = 1
0 & 0 = 0, 0 | 0 = 0, 0 ^ 0 = 0