OpCodes.Div Field
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Divides two values and pushes the result as a floating-point (type F
) or quotient (type int32
) onto the evaluation stack.
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
Field Value
Remarks
The following table lists the instruction's hexadecimal and Microsoft Intermediate Language (MSIL) assembly format, along with a brief reference summary:
Format | Assembly Format | Description |
---|---|---|
5B | div | Divides two values to return a quotient or floating-point result. |
The stack transitional behavior, in sequential order, is:
value1
is pushed onto the stack.value2
is pushed onto the stack.value2
andvalue1
are popped from the stack;value1
is divided byvalue2
.The result is pushed onto the stack.
result
= value1
div value2 satisfies the following conditions:
| result
| = | value1
| / | value2
|, and:
sign(result
) = +, if sign(value1
) = sign(value2
), or -, if sign(value1
) ~= sign(value2
)
The div
instruction computes the result and pushes it on the stack.
Integer division truncates towards zero.
Division of a finite number by zero produces the correctly signed infinite value.
Dividing zero by zero or infinity by infinity produces the NaN (Not-A-Number) value. Any number divided by infinity will produce a zero value.
Integral operations throw ArithmeticException if the result cannot be represented in the result type. This can happen if value1
is the maximum negative value, and value2
is -1.
Integral operations throw DivideByZeroException if value2
is zero.
Note that on Intel-based platforms an OverflowException is thrown when computing (minint div -1). Floating-point operations never throw an exception (they produce NaNs or infinities instead).
The following Emit method overload can use the div
opcode: