按位或

按位或

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

基本介紹

  • 中文名:按位或
  • 領域:計算機
  • 語言:C/C++
  • 類型:位運算,豎式運算
簡介,位運算,豎式運算,

簡介

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。

相關詞條

熱門詞條

聯絡我們