OpCodes.Div 欄位

定義

除以兩個值,並將結果以浮點數(型別 F)或商數(型別 int32)形式推入評估堆疊。

public: static initonly System::Reflection::Emit::OpCode Div;
public static readonly System.Reflection.Emit.OpCode Div;
 staticval mutable Div : System.Reflection.Emit.OpCode
Public Shared ReadOnly Div As OpCode 

欄位值

備註

下表列出指令的十六進位及 Microsoft 中介語言(MSIL)組合格式,並附有簡短參考摘要:

Format 組裝格式 Description
5B div 將兩個值除以返回商或浮點數結果。

堆疊的過渡行為依序為:

  1. value1 被推到堆疊上。

  2. value2 被推到堆疊上。

  3. value2value1 從堆疊中彈出; value1 被除以 value2

  4. 結果會被推送到堆疊上。

result = value1 div value2 滿足以下條件:

| result |= | value1 | / | value2 |, 以及:

sign(result) = +,若 sign(value1) = sign(value2),或 -,若 sign(value1) ~= sign(value2

指令會 div 計算結果並將其推送到堆疊上。

整數除法會截斷至零。

將有限數除以零會得到正確符號的無限值。

將零除以零或無限除以無限大,得到 NaN(非 A-數)值。 任何數除以無限大都會得到零值。

如果結果無法以結果類型表示,則會拋出 ArithmeticException 積分運算。 當 value1 是最大負值,且 value2 為 -1 時,這種情況就可能發生。

積分運算拋出 DivideByZeroException 若為 value2 零。

請注意,在基於 Intel 的平台上,計算時會拋出 ( OverflowException minint div -1)。 浮點運算從不拋出例外(它們會產生 NaN 或無限大)。

以下 Emit 方法的超載可使用操作 div 碼:

適用於