按位或

按位或

按位或運算符“|”是雙目運算符。其功能是參與運算的兩數各對應的二進位相或。只要對應的二個二進位有一個為1時,結果位就為1。當參與運算的是負數時,參與兩個數均以補碼出現。

簡介

C/C++中的“按位或”

規則:

1|1=1

1|0=1

0|1=1

0|0=0

按位或運算 按位或運算符“|”是雙目運算符。其功能是參與運算的兩數各對應的二進位(也就是最後一位)相或。只要對應的二個二進位有一個為1時,結果位就為1。參與運算的兩個數均以補碼出現。 例如:9|5可寫算式如下: 00001001|00000101 00001101 (十進制為13)可見9|5=13

main()

{

int a=9,b=5,c;

c=a|b;

printf("a=%d\nb=%d\nc=%d\n",a,b,c);

}

位運算

整數在計算機中用二進制的位來表示,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

豎式運算

按位或是位運算的一種,是將兩個數據的二進制表示右對齊後,按位進行運算,兩個對應的二進制位中只要一個是1,結果對應位就是1。
1 | 1 = 1 , 1 | 0 = 1 , 0 | 1 = 1 , 0 | 0 = 0
比如說十進制數5和3
5 | 3
先把它們換成二進制表示
101 , 011
按照剛才的規則:
1 0 1
| 0 1 1
--------
1 1 1
結果是二進制的111,也就是十進制的7。

相關詞條

熱門詞條

聯絡我們