OpCodes.Div Field
Divides two values and pushes the result as a floating-point (type F) or quotient (type int32) onto the evaluation stack.
Namespace: System.Reflection.Emit
Assembly: mscorlib (in mscorlib.dll)
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 and value1 are popped from the stack; value1 is divided by value2.
-
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:
-
ILGenerator.Emit(OpCode)
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.