ビット処理包括的 OR 演算子: |

構文

expression1|expression2

解説

ビット処理包括的 OR 演算子 (|) は、最初のオペランドの各ビットを 2 番目のオペランドの対応するビットと比較します。 どちらかのビットが 1 の場合、対応する結果のビットは 1 に設定されます。 それ以外の場合は、対応する結果ビットが 0 に設定されます。

演算子のオペランドは両方とも整数型がある必要があります。 オペランドには「標準変換」で説明されている通常の算術変換が適用されます。

| の演算子キーワード

C++ では、| の代替スペルとして bitor が指定されます。 C では、<iso646.h> ヘッダーにマクロとして代替スペルが指定されています。 C++ では、代替スペルはキーワードであり、<iso646.h> や C++ でそれに相当する <ciso646> の使用は非推奨です。 Microsoft C++ では、/permissive- または /Za コンパイラ オプションを使用して、代替スペルを有効にする必要があります。

// expre_Bitwise_Inclusive_OR_Operator.cpp
// compile with: /EHsc
// Demonstrate bitwise inclusive OR
#include <iostream>
using namespace std;

int main() {
   unsigned short a = 0x5555;      // pattern 0101 ...
   unsigned short b = 0xAAAA;      // pattern 1010 ...

   cout  << hex << ( a | b ) << endl;   // prints "ffff" pattern 1111 ...
}

関連項目

C++ の組み込み演算子、優先順位、結合規則
C ビット演算子