C++のビットごとのOR(|)演算子とは?仕組みと使い方を解説
C++におけるビットごとのOR演算子(|)は、第1オペランドの各ビットと、第2オペランドの対応するビットを比較する演算子です。比較した2つのビットのうちどちらか一方でも1であれば、結果の対応するビットは1にセットされます。両方のビットが0である場合にのみ、結果は0となります。
なお、このビット包含的OR演算子を使用する際は、両方のオペランドが整数型(int、unsigned shortなど)である必要があります。
真理値表
ビットごとのORの動作は、以下の真理値表のようにまとめられます。
| ビットA | ビットB | A | B の結果 |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
サンプルコード
#include <iostream>
using namespace std;
int main() {
unsigned short a = 0x5555; // 0101 ... のパターン
unsigned short b = 0xAAAA; // 1010 ... のパターン
cout << hex << ( a | b ) << endl;
}出力結果
このプログラムを実行すると、次の出力が得られます。
ffff
解説
変数 a(0x5555)は「0101」が繰り返されるビットパターン、変数 b(0xAAAA)は「1010」が繰り返されるビットパターンを持っています。これらをOR演算すると、各桁で必ずどちらかのビットが1になるため、すべてのビットが1となり、結果は ffff(16進数表記)になります。
このように、ビットごとのORは特定のビットを意図的に1に設定(セット)したい場合によく使われる演算子です。フラグ管理やハードウェア制御など、ビット単位での処理が必要な場面で活用できます。
-
Windowsで使えるC++開発向けおすすめIDE 7選
```html 大規模なプロジェクトをプレーンなテキストエディターだけで管理するのは困難です。こうしたケースではIDE(統合開発環境)を使った方が、生産性が向上しストレスも大幅に軽減されます。IDEにはさまざまな種類があり、自分のニーズに合ったものを選ぶことが重要です。ここでは、Windowsで利用できる優れたC/C++向けIDEをご紹介します。 1. Visual Studio Microsoftが開発した定番IDEです。Windows上でのC++プログラムの構築・開発・プロファイリングにおいて、最高クラスのツール群を備えています。豊富なプラグインストアも魅力で、Azure、PowerShe
-
C++プログラミング言語とは?特徴と基本をわかりやすく解説
C++は、1979年にベル研究所のビャーネ・ストロヴストルップ(Bjarne Stroustrup)によって開発されたプログラミング言語です。高水準言語と低水準言語の両方の特徴を兼ね備えていることから、「中級言語(ミドルレベル言語)」と位置づけられています。C++はC言語のスーパーセットであり、事実上すべての有効なCプログラムは、そのまま有効なC++プログラムとして扱えます。さらに、WindowsやmacOS、各種UNIXなど、幅広いプラットフォームで動作する点も大きな魅力です。システム開発からゲーム、組み込みソフトウェアまで、多岐にわたる分野で長年活用され続けています。C++の主な言語特性C