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 程序集格式 说明
5B div 将两个值除以返回商或浮点结果。

堆栈过渡行为按顺序排列,为:

  1. value1 被推送到堆栈上。

  2. value2 被推送到堆栈上。

  3. value2 并从 value1 堆栈中弹出; value1 被除以 value2

  4. 结果被推送到堆栈上。

result = value1 div value2 满足以下条件:

| result |= | value1 | / | value2 |和:

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

指令 div 将计算结果并将其推送到堆栈上。

整数除法截断为零。

将有限数除以零会产生正确的有符号无限值。

将零除以零或无穷大可产生 NaN (Not-A-Number) 值。 除以无穷大的任何数字都将产生零值。

如果结果不能在结果类型中表示,整型操作将引发 ArithmeticException 。 如果 value1 为最大负值且 value2 为 -1,则可能会发生这种情况。

如果为零,则引发DivideByZeroExceptionvalue2整型操作。

请注意,在基于 Intel 的平台 OverflowException 上,计算时会引发(小型 div -1)。 浮点操作永远不会引发异常(它们生成 NaN 或无限)。

以下 Emit 方法重载可以使用 div 操作码:

适用于