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 | 程序集格式 | 说明 |
|---|---|---|
| 5B | div | 将两个值除以返回商或浮点结果。 |
堆栈过渡行为按顺序排列,为:
value1被推送到堆栈上。value2被推送到堆栈上。value2并从value1堆栈中弹出;value1被除以value2。结果被推送到堆栈上。
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 操作码: