被演算子

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

被演算子(ひえんざんし、: operand)とは、演算の対象・演算がなされる量(quantity)である。[1]

[編集]

表記[編集]

被演算子としての式[編集]

被演算子は時には複雑で、被演算子と演算子から構成された式から成る場合もある。

(3 + 5) \times 2\;

上記の式において、'(3 + 5)'は、乗法演算子に対する最初の被演算子であり、'2'は2番目の被演算子である。'(3 + 5)' はそれ自体が式で、加算演算子を含み、'3'と'5'という被演算子を持つ。

演算順序[編集]

優先順序は、型演算子がどの値を評価するかに影響を及ぼす:

3 + 5 \times 2

上記の式において、乗法演算子は加算演算子よりも高い優先権を持つ。そのため、乗法演算子は'5'と'2'の被演算子を持つ。加算演算子は'3'と'5 × 2'の被演算子を持つ。

被演算子の位置[編集]

数学記号の状況により、用いられる被演算子に関する演算子の位置は変化することもある。算術では中置記法が一般的だが、数学における関数の f(1, 2) のような記法は前置である。前置記法後置記法といった、他の記法も存在する。これらの中置以外の記法は、特に計算機科学では普通のものである。

以下は全て'1'と'2'の加算を表す、3つの異なる記法を比較したものである。

1 + 2\;(中置記法)
+\;1\;2(前置記法)
1\;2\;+(後置記法)

挿入表記と演算順序[編集]

挿入表記について、演算順序に対する1つの覚えやすい記憶術がある:

Please excuse my dear Aunt Sally.(どうか私の愛しいおばであるサリーをお許しください)

上記の各単語の(太字である)最初の文字は以下を表す;

p = 括弧 (parentheses)
e = 指数 (exponents)
m = 乗法 (multiplication)
d = 除法 (division)
a = 加算 (addition)
s = 減算 (subtraction)

数式において、演算順序は左から右へと実行される。大部分の左の値で開始し上記で指定された順序に従って最初の演算を探す。(すなわち、括弧で開始し減算で終わる[疑問点 ])例えば、以下の式において

4 \times 2^2 - (2 + 2^2),

最初に行われる演算は括弧内に見られる全ての式である。左から始まり右まで移動することで、最初に(そしてこの場合、唯一の)括弧を見付ける。つまり (2 + 22) である。括弧内において、それ自身の中に22という式が見付けられる。読者はさらに計算する前に22の値を見付けるよう要求される。22の値は4である。この値を持つことで、残りの式は以下のようになる:

4 \times 2^2 - (2 + 4)

次のステップでは括弧自身の内部の式の値を計算する。すなわち、(2 + 4) = 6である。式は以下のようになる:

4 \times 2^2 - 6

式の挿入部分を計算することで、もう一度左端の値で始まり右端の値で終わる。次の演算順序は(規則に応じて)指数である。左端の値、すなわち4で始まり、視線を右に走査して出くわした最初の指数を探す。指数を伴い表現された最初で(そして唯一の)式は22である。22の値が見付かり、それは4である。残りの式は以下である:

4 \times 4 - 6\;.

次の演算順序は乗法である。 4 × 4は16である。現在、式は以下のようになる:

16 - 6\;

規則によると次の演算順序は除法である。しかしながら上記の式16 - 6には除法の演算子 (÷) はない。そのため次の演算順序へと移る。すなわち加法である。しかし16 - 6の式には加法演算子 (+) はない。そのため次のそして最後の演算順序へと移る。すなわち減算である。

16 - 6 = 10\;.

そのため、元々の式 4 × 22 - (2 + 22) に対する正しい値は10である。

慣習により設定された規則に応じて演算順序を実行することは重要である。もし読者が式を評価したが正しい演算順序に従っていない場合、読者は以後違う値をもたらしてしまう。演算順序に従っていないため、違う値は不正な値である。読者は、各演算が適切な順序で実行された場合のみ、正しい式の値に到達する。

アリティ[編集]

演算子の被演算子の数はアリティと呼ばれる。アリティに基づき、演算子は無項演算(被演算子なし)、単項演算(1つの被演算子)、二項演算(2つの被演算子)、三項演算などに分類される。

コンピュータ[編集]

プログラミング言語において、演算子および被演算子の定義は数学のそれとほとんど同じである。

日本ではカタカナ語でオペランドとした場合は機械語ないしアセンブリ言語の、命令の中の操作または演算されるべきデータを指定する部分およびそのデータ自身を指す意味で使われることが多い。一般に、機械語の1個の命令は、(1個の)オペコードと0個以上のオペランドから成る。

命令では、add Aやmultiply Xのように演算を記述するが、ここでAとかXは、レジスタ、メモリアドレス、リテラル定数、あるいはラベルであり、オペランドとはそれらのこと、ないし、その中身のことである。命令セットにより、オペランドはゼロか、1つか、2つか、またはそれ以上である。

関連項目[編集]

脚注[編集]

  1. ^ American Heritage Dictionary