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) 程序集格式,以及简短的参考摘要:

格式 程序集格式 说明
5B div 将两个值相除以返回商或浮点结果。

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

  1. value1 被推送到堆栈上。

  2. value2 被推送到堆栈上。

  3. value2value1 从堆栈中弹出; value1value2除以 。

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

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

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

sign (result) = +,如果 sign () value1 = sign (value2) ,则为 -,如果 sign (value1) ~= sign (value2)

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

整数除法截断为零。

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

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

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

如果 为零,则value2引发DivideByZeroException整型运算。

请注意,在基于 Intel 的平台上 OverflowException ,计算 (微型 div -1) 时,会引发 。 浮点运算在生成 NaNs 或无限 (永远不会引发异常,而是) 。

以下 Emit 方法重载可以使用 div opcode:

适用于