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) 程序集格式,以及简短的参考摘要:
格式 | 程序集格式 | 说明 |
---|---|---|
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,则可能会发生这种情况。
如果 为零,则value2
引发DivideByZeroException整型运算。
请注意,在基于 Intel 的平台上 OverflowException ,计算 (minint div -1) 时,会引发 。 浮点运算在生成 NaNs 或无限 (不会引发异常,而是) 。
以下 Emit 方法重载可以使用 div
opcode: