Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

2項演算子(ニコウエンザンシ)とは | 意味や読み方など丁寧でわかりやすい用語解説

2項演算子(ニコウエンザンシ)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

二項演算子 (ニ項演算子)

英語表記

binary operator (バイナリ オペレーター)

用語解説

2項演算子は、プログラミングやコンピューターの計算において、二つの値(オペランド)を対象として特定の操作を行う演算子のことである。これは、ほとんどのプログラミング言語で非常に頻繁に使用され、システムエンジニアを目指す上でその基本的な概念と種類を理解することは不可欠である。2項演算子は、データの加工、条件の判断、変数の更新など、プログラムのあらゆる場面で中心的な役割を果たす。例えば、数値の足し算や引き算、二つの値が等しいかどうかの比較、複数の条件を組み合わせた判断など、日常的なプログラミング作業のほとんどが2項演算子によって実現されていると言っても過言ではない。

詳細に説明すると、2項演算子は通常、二つのオペランドの間に記述される「中置記法」と呼ばれる形式を取る。例えば、「A + B」という式では、「+」が2項演算子であり、「A」と「B」がオペランドである。この構造は、人間が数学の式を記述する方法と非常に似ており、直感的で理解しやすい特徴を持つ。

2項演算子には、その機能によってさまざまな種類が存在する。主なものとして、以下のようなカテゴリが挙げられる。

第一に、算術演算子がある。これは数値計算を行うためのもので、「+」(加算)、「-」(減算)、「*」(乗算)、「/」(除算)、「%」(剰余、つまり割り算の余りを求める)などが代表的である。これらの演算子を用いることで、複雑な数式をプログラム上で表現し、計算処理を実行できる。例えば、「合計 = 価格 * 数量」のような記述は、価格と数量という二つのオペランドを乗算し、その結果を「合計」という変数に代入する処理を表す。

第二に、比較演算子がある。これは二つのオペランドを比較し、その比較結果が正しいか(真)正しくないか(偽)を判断するものである。「==」(等しい)、「!=」(等しくない)、「>」(より大きい)、「<」(より小さい)、「>=」(以上)、「<=」(以下)などがこれに該当する。例えば、「年齢 >= 18」という式は、変数「年齢」の値が18以上であれば真、そうでなければ偽という真偽値を結果として返す。これらの演算子は、プログラムの実行フローを制御する条件分岐(if文など)において非常に重要である。

第三に、論理演算子がある。これは真偽値(ブール値)をオペランドとし、それらの論理的な関係に基づいて新たな真偽値を生成する。「&&」(論理積、AND)、「||」(論理和、OR)などが代表的である。例えば、「(A > 0) && (B < 10)」という式は、「Aが0より大きい」かつ「Bが10より小さい」という二つの条件が両方とも真である場合に限り、式全体が真となる。これにより、複数の条件を組み合わせて複雑な判断基準を構築することが可能になる。

第四に、代入演算子がある。最も基本的なものは「=」(代入)であり、右側のオペランドの値を左側のオペランド(変数など)に格納する。さらに、「+=」(加算代入)、「-=」(減算代入)、「*=」(乗算代入)、「/=」(除算代入)、「%=」(剰余代入)のような複合代入演算子も存在する。これらは「A = A + B」のような記述を「A += B」と短縮して記述できるため、コードの簡潔性と可読性を向上させる効果がある。

他にも、オペランドのビット単位で操作を行うビット演算子(「&」「|」「^」など)も2項演算子の一種である。これらはより低レベルなデータ操作に用いられ、特定の値のビットを操作したり、フラグの管理を行ったりする際に役立つ。

複数の2項演算子が同じ式の中に含まれる場合、計算の順序は「演算子の優先順位」と「結合規則」によって決定される。例えば、算術演算子では乗算や除算が加算や減算よりも優先されるため、「2 + 3 * 4」という式は「(2 + 3) * 4」ではなく「2 + (3 * 4)」として評価される。この優先順位は、プログラミング言語によって定義されており、括弧を使用することで明示的に優先順位を変更できる。結合規則は、同じ優先順位の演算子が連続する場合に、左から右へ(左結合)または右から左へ(右結合)どちらの順で評価されるかを定めるものである。多くの算術演算子や比較演算子は左結合だが、代入演算子は右結合である場合が多い。

また、2項演算子の振る舞いは、オペランドのデータ型によって異なる場合がある。例えば、整数同士の除算「5 / 2」の結果は多くの言語で整数「2」となるが、浮動小数点数を含む除算「5.0 / 2」の結果は浮動小数点数「2.5」となる。このように、オペランドの型によって異なる結果が生じることがあり、場合によっては「型変換(キャスト)」が必要となる場合もある。

2項演算子は、C言語、Java、Python、JavaScriptなど、主要なほとんどのプログラミング言語に共通して存在する普遍的な概念である。これらの演算子を正確に理解し、適切に使いこなすことは、効率的でバグの少ないプログラムを記述するために不可欠なスキルとなる。システムエンジニアを目指す初心者は、各演算子の機能だけでなく、その挙動、優先順位、そしてデータ型との関係性まで深く学習することが望ましい。

関連コンテンツ