【C++】演算子の初心者向け解説

【C++】演算子の初心者向け解説

基本演算子

C++で最も基本的な演算子は「算術演算子」です。これらは数値に対して基本的な演算を行います。

加算(+): 2つの数値を足し算します。

int a = 5;
int b = 3;
int sum = a + b; // sumは8になります

減算(-): 2つの数値を引き算します。

int difference = a - b; // differenceは2になります

乗算(*): 2つの数値を掛け算します。

int product = a * b; // productは15になります

除算(/): 2つの数値を割り算します。

int quotient = a / b; // quotientは1になります (整数同士の割り算)

剰余(%): 2つの数値の割り算の余りを求めます。

int remainder = a % b; // remainderは2になります

代入演算子

代入演算子は、値を変数に格納するために使います。最も基本的な代入演算子は「=」です。

int x = 10; // xに10を代入

また、代入演算子には複合代入演算子もあります。例えば、加算代入(+=)や減算代入(-=)などがあります。

加算代入(+=): 変数に値を加算して代入します。

int a = 5;
a += 3; // aは8になります

減算代入(-=): 変数から値を引き算して代入します。

int b = 10;
b -= 4; // bは6になります

比較演算子

比較演算子は、2つの値を比較してその結果が真か偽かを判定します。

等しい(==): 2つの値が等しいかどうかを調べます。

int x = 5;
int y = 5;
bool result = (x == y); // resultはtrueになります

等しくない(!=): 2つの値が等しくないかどうかを調べます。

bool result = (x != y); // resultはfalseになります

より大きい(>): 左側の値が右側の値より大きいかを調べます。

bool result = (x > y); // resultはfalseになります

より小さい(<): 左側の値が右側の値より小さいかを調べます。

bool result = (x < y); // resultはfalseになります

以上(>=): 左側の値が右側の値以上かを調べます。

bool result = (x >= y); // resultはtrueになります

以下(<=): 左側の値が右側の値以下かを調べます。

bool result = (x <= y); // resultはtrueになります

論理演算子

論理演算子は、条件式を組み合わせて論理的な判定を行います。

論理積(&&): 両方の条件が真である場合に真を返します。

bool result = (x > 3 && y == 5); // resultはtrueになります

論理和(||): どちらか一方の条件が真であれば真を返します。

bool result = (x > 3 || y == 10); // resultはtrueになります

論理否定(!): 条件が真であれば偽を返し、偽であれば真を返します。

bool result = !(x > 3); // resultはfalseになります

増分・減分演算子

増分演算子(++)と減分演算子(--)は、変数の値を1だけ増やしたり減らしたりします。

増分演算子(++): 変数の値を1増やします。

int z = 5;
z++; // zは6になります

減分演算子(--): 変数の値を1減らします。

z--; // zは5に戻ります

これらの演算子は、前置きと後置きの2通りの使い方があります。

前置き(++a、--a): 変数の値を先に変更してからその値を使います。

int a = 5;
int result = ++a; // resultは6になります

後置き(a++、a--): 変数の値を使ってから変更します。

int a = 5;
int result = a++; // resultは5になり、aは6に変わります

ビット演算子

ビット演算子は、整数型の値のビットに対して操作を行います。

論理積(&): 2つのビットが両方とも1の場合に1を返します。

int a = 5;  // 0101
int b = 3;  // 0011
int result = a & b; // resultは1になります(0001)

論理和(|): 2つのビットのどちらかが1の場合に1を返します。

int result = a | b; // resultは7になります(0111)

排他的論理和(^): 2つのビットが異なる場合に1を返します。

int result = a ^ b; // resultは6になります(0110)

左シフト(<<): ビットを左にシフトします。

int result = a << 1; // resultは10になります(1010)

右シフト(>>): ビットを右にシフトします。

int result = a >> 1; // resultは2になります(0010)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です