OpCodes.Div 欄位
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
除以兩個值,並將結果以浮點數(型別 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 | 將兩個值除以返回商或浮點數結果。 |
堆疊的過渡行為依序為:
value1被推到堆疊上。value2被推到堆疊上。value2與value1從堆疊中彈出;value1被除以value2。結果會被推送到堆疊上。
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 碼: