C++の論理演算子を単語で書く方法|and・or・notなどの代替キーワード一覧
C++プログラミング言語では、論理演算子をキーワード(単語表記)で記述することができます。これらのキーワードは、C言語の時代に「&&」「!」「||」といった記号を入力できないキーボード環境が多かったことから導入されたものです。
現在では、これらはISO C++規格で定義された「代替トークン(alternative tokens)」と呼ばれ、C++では特別なヘッダーをインクルードしなくても常に使用できます。ここでは、C++で使える論理演算子の単語表記について詳しく解説します。
演算子と単語表記の一覧
| 演算子 | 記号 | 単語表記 |
|---|---|---|
| 論理AND(かつ) | && | and |
| 論理OR(または) | || | or |
| 論理NOT(否定) | ! | not |
| 不等価(等しくない) | != | not_eq |
| ビットAND | & | bitand |
| ビットOR | | | bitor |
| ビットXOR | ^ | xor |
| ビットAND代入 | &= | and_eq |
| ビットOR代入 | |= | or_eq |
| ビットXOR代入 | ^= | xor_eq |
サンプルプログラム
次のプログラムは、単語表記の演算子を実際に使用した例です。
#include<iostream>
using namespace std;
int main(){
int x=1, y=0;
cout<<"Written logical operators are :\n";
cout<<x<<" and "<<y<<" = "<<(x and y)<<endl;
cout<<x<<" or "<<y<<" = "<<(x or y)<<endl;
cout<<x<<" bitwise and "<<y<<" = "<<(x bitand y)<<endl;
cout<<x<<" not equal to "<<y<<" = "<<(x not_eq y)<<endl;
return 0;
}
実行結果
Written logical operators are : 1 and 0 = 0 1 or 0 = 1 1 bitwise and 0 = 0 1 not equal to 0 = 1
単語表記を使うメリット・デメリット
- メリット:「and」「or」「not」といった自然な英語で書けるため、コードの可読性が向上します。
- メリット:「|」「&」「!」などの記号を入力できないキーボード環境でも、問題なくコードを記述できます。
- デメリット:単語表記の演算子は被演算子(オペランド)との間に必ずスペースが必要です。たとえば「x and y」のように書かなければならず、スペースがないとコンパイルエラーが発生します。
-
C++の算術演算子入門!基本の5つの演算子と複合代入演算子の使い方
C++の基本的な算術演算子 C++には、数値計算のために用意された基本的な算術演算子が5つあります。それぞれ以下の通りです。 加算(+) 減算(-) 乗算(*) 除算(/) 剰余(%) 使用例 これらの演算子は、C++のあらゆる算術演算に使用できます。実際にどのように動作するのか、以下のサンプルコードで確認してみましょう。 #include <iostream> using namespace std; int main() { int a = 21; int b = 10; int c; c = a + b; cout <&l
-
C#の文字列で使える論理演算子(&&・||・!)の基本と実装例
C#の文字列で使える論理演算子とは C#では、文字列を含むさまざまなデータに対して論理演算子を使用できます。主な論理演算子には「&&(論理AND)」「||(論理OR)」「!(論理NOT)」の3種類があります。 それぞれの演算子の動作を、以下の表にまとめました。 演算子説明使用例 &&論理AND演算子。両方のオペランドが真(非ゼロ)である場合に、条件全体がtrueになります。(A && B) は false ||論理OR演算子。2つのオペランドのうち、どちらか一方でも真(非ゼロ)であれば、条件全体がtrueになります。(A || B) は tr