次の方法で共有


OpCodes.Div フィールド

2 つの値の除算を実行し、結果を浮動小数点値 (F 型) または商 (int32 型) として評価スタックにプッシュします。

Public Shared ReadOnly Div As OpCode
[C#]
public static readonly OpCode Div;
[C++]
public: static OpCode Div;
[JScript]
public static var Div : OpCode;

解説

命令の 16 進数の形式、MSIL (Microsoft Intermediate Language) アセンブリ形式、および簡単な説明の一覧を次の表に示します。

形式 アセンブリ形式 説明
5B div 2 つの値の除算を実行し、結果を浮動小数点値または商として返します。

スタックの遷移動作を順番に示すと、次のようになります。

  1. value1 がスタックにプッシュされます。
  2. value2 がスタックにプッシュされます。
  3. value2value1 がスタックからポップされます。 value1value2 によって除算されます。
  4. 結果がスタックにプッシュされます。

result = value1 div value2 は次の条件を満たしています。

| result | = | value1 |/ | value2 |、および

sign(value1) = sign(value2) の場合は sign( result) = +、sign(value1) ~= sign(value2) の場合は sign(result) = -。

div 命令は、結果を計算し、スタックにプッシュします。

整数除算では、0 方向に切り捨てられます。

有限数を 0 で除算すると、正しい符号の付いた無限値になります。

0 を 0 で、または無限数を無限数で除算すると、非数 (NaN) 値になります。任意の数を無限数で除算すると、値は 0 になります。

結果を結果型で表すことができない場合、整数演算は ArithmeticException をスローします。これは、 value1 が負の最大値であり、 value2 が -1 である場合に発生する可能性があります。

value2 が 0 の場合、整数演算は DivideByZeroException をスローします。

Intel ベースのプラットフォームでは、(minint div -1) の計算時に OverflowException がスローされます。浮動小数点演算では、例外はスローされません。例外ではなく NaN または無限数が生成されます。

div オペコードを使用できる Emit コンストラクタ オーバーロードを次に示します。

  • ILGenerator.Emit(OpCode)

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

OpCodes クラス | OpCodes メンバ | System.Reflection.Emit 名前空間