数学において、オペランドとは数学演算の対象となるもの、つまり演算の対象となる物または量のことである。[ 1 ]
式の等式における未知のオペランドは、方程式を解くことによって見つけることができます。
次の算術式は、演算子と被演算項の例を示しています。
上記の例では、「+」は加算と呼ばれる演算の記号です。
オペランド「3」は加算演算子に続く入力(数量)の1つであり、オペランド「6」は演算に必要なもう1つの入力です。
演算結果は9です。(9という数は、被加数3と加数6の和とも呼ばれます。)
オペランドは、「演算における入力(量)の一つ」とも呼ばれる。
オペランドはネストすることができ、オペランドを持つ演算子で構成される式を構成することもできます。
上記の式において、「(3 + 5)」は乗算演算子 の最初のオペランドであり、「2」は2番目のオペランドです。オペランド「(3 + 5)」はそれ自体が式であり、オペランド「3」と「5」を含む加算演算子を含んでいます。
優先順位の規則は、どの値がどの演算子のオペランドを形成するかに影響します。[ 2 ]
上記の式では、乗算演算子は加算演算子よりも優先順位が高いため、乗算演算子のオペランドは「5」と「2」になります。加算演算子のオペランドは「3」と「5 × 2」になります。
使用する数学的表記法によって、演算子と被演算子の位置関係が異なる場合があります。日常的には中置記法が最も一般的ですが、[ 3 ]前置記法や後置記法など、他の記法も存在します。これらの代替記法は、コンピュータサイエンスで最も一般的です。
以下は、3つの異なる表記法を比較したものです。いずれも数字「1」と「2」の加算を表しています。
数式では、演算は左から右に実行されます。左端の値から始めて、上記の順序(つまり、括弧から始まり、加算/減算グループで終わる)に従って最初に実行される演算を探します。たとえば、次の式では
最初に行う演算は、括弧の中にあるすべての式です。左から右へ進み、最初の(そしてこの場合は唯一の)括弧、つまり (2 + 2 2 ) を見つけます。括弧の中には、式 2 2があります。読者は、先に進む前に 2 2の値を求める必要があります。2 2の値は4 です。この値を見つけると、残りの式は次のようになります。
次のステップは、括弧内の式の値を計算することです。つまり、(2 + 4) = 6 です。式は次のようになります。
式の括弧内の部分を計算したら、左端の値から始めて右へ移動しながら、再び計算を始めます。規則に従って、次の演算順序は指数です。左端の値、つまり 4 から始めて、右へ目を走らせ、最初に見つけた指数を探します。指数で表されている最初の(そして唯一の)式は 2² です。2²の値、つまり 4 を見つけます。残りは次の式です。
次の演算順序は乗算です。4 × 4 は 16 です。これで式は次のようになります。
規則によれば、次の演算順序は除算です。しかし、式 16 − 6 には除算記号 (÷) がありません。そこで、次の演算順序である加算と減算に進みます。加算と減算は同じ優先順位を持ち、左から右に実行されます。
したがって、元の式 4 × 2 2 − (2 + 2 2 )の正しい値は10 です。
慣例で定められた規則に従って演算順序を実行することが重要です。読者が式を評価する際に正しい演算順序に従わない場合、異なる値が得られます。演算順序が守られていないため、その値は誤った値となります。読者が式に対して正しい値を得るには、各演算を正しい順序で実行する必要があります。
演算子のオペランドの数をアリティと呼びます。[ 4 ]アリティに基づいて、演算子は主にヌルアリー(オペランドなし)、単項(オペランド1個)、二項(オペランド2個)、三項(オペランド3個)に分類されます。アリティが高い演算子は、関数合成やカリー化によって回避できる場合、特定の用語で呼ばれることはあまりありません。その他の用語には、次のものがあります。
コンピュータプログラミング言語における演算子と被演算子の定義は、数学における定義とほぼ同じである。
コンピューティングにおいて、オペランドとは、コンピュータ命令の一部であり、操作または演算の対象となるデータを指定すると同時に、データ自体を表すものです。[ 5 ] コンピュータ命令は、X を加算または乗算するなどの操作を記述し、オペランド(または複数のオペランドが存在する場合)は、どの X を操作するか、および X の値を指定します。
さらに、アセンブリ言語では、オペランドとは、ニーモニックで命名された命令が操作する値(引数)のことです。オペランドは、プロセッサレジスタ、メモリアドレス、リテラル定数、またはラベルである場合があります。簡単な例(x86アーキテクチャの場合)は次のとおりです。
MOV BX , AXここで、レジスタオペランドの値はレジスタにAX移動されます。命令によっては、オペランドは0個、1個、2個、またはそれ以上になる場合があります。MOVBX