被演算子:演算の主役とその振る舞い
数学やプログラミングにおいて、演算を行う上で欠かせないのが「被演算子」です。これは、演算子が作用する対象となる値や式を指します。
英語ではoperandと呼ばれ、オペランドとも呼ばれることもあります。
被演算子の例:式の中での役割
被演算子は、単なる数値だけでなく、複雑な式も担うことができます。例えば、` (3 + 5) × 2 `という式では、` (3 + 5)` は乗算の最初の被演算子、`2` は2番目の被演算子です。さらに注目すると、` (3 + 5)` 自体も加算という演算を含んでおり、`3` と `5` を被演算子としています。このように、被演算子は入れ子構造になることもあります。
より複雑な例として、代数式` (a + b) × (a + 2b) `を考えましょう。ここで、` (a + b)` と ` (a + 2b)` はそれぞれ乗算演算の被演算子であり、多項式として扱われます。
被演算子の位置:記法による違い
被演算子の位置は、使用する演算子の表記方法によって変化します。一般的な
算術では
中置記法(例:`1 + 2`)を用いますが、関数 `f(1, 2)` のように、演算子が前に来る前置記法や、後に来る後置記法も存在します。特に後置記法は、コンピュータ科学でよく利用されます。
これらの記法を比較してみましょう。以下の3つの式は全て、`1` と `2` の加算を表しています。
中置記法:`1 + 2`
前置記法:`+ 1 2`
後置記法:`1 2 +`
演算順序と優先順位
複数の演算子が含まれる式では、演算順序が重要になります。例えば、`3 + 5 × 2` という式では、乗算は加算よりも優先順位が高いため、まず `5 × 2` が計算され、その結果に `3` が加算されます。この優先順位は、演算子がどの被演算子に作用するかを決定します。
演算順序を間違えると、計算結果が異なる、つまり誤った値になります。正しい演算順序に従うことで、初めて正しい結果を得ることができます。括弧を使うことで、演算順序を明示的に制御することも可能です。
アリティ:被演算子の数
演算子は、それが持つ被演算子の数によって分類されます。この数をアリティと呼びます。
無項演算:被演算子を持たない(例:π)
単項演算:1つの被演算子を持つ(例:-5)
二項演算:2つの被演算子を持つ(例:3 + 5)
* 三項演算:3つの被演算子を持つ(例:条件演算子)
コンピュータにおける被演算子
プログラミング言語においても、被演算子の概念は数学とほぼ同じです。特に
アセンブリ言語や
機械語では、オペランドは命令の中で演算されるデータ、またはそのデータを指し示すアドレスなどを表します。命令 `add A` では、`A` がオペランドとなり、レジスタ、メモリ位置、定数などを表します。命令によって、オペランドの数は0個以上となります。
まとめると、被演算子は演算の対象となる基本的な要素であり、その位置、数、演算順序は、計算結果を決定する上で非常に重要な役割を果たします。数学からプログラミングまで、様々な場面でこの概念を理解することが不可欠です。