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 

필드 값

OpCode

설명

다음 표에는 간단한 참조 요약과 함께 명령의 16진수 및 MSIL(Microsoft Intermediate Language) 어셈블리 형식이 나와 있습니다.

서식 어셈블리 형식 Description
5B div 두 값을 나누어 몫 또는 부동 소수점 결과를 반환합니다.

순차적으로 스택 전환 동작은 다음과 같습니다.

  1. value1 는 스택에 푸시됩니다.

  2. value2 는 스택에 푸시됩니다.

  3. value2 스택 value1 value1 에서 팝됩니다. 로 나뉩니다 value2.

  4. 결과는 스택에 푸시됩니다.

result = value1 div value2는 다음 조건을 충족합니다.

result | | = | | value1 /| | value2

sign(result) = +, if sign(value1) = sign(value2) 또는 -, if sign(value1) ~= sign(value2)

div 명령은 결과를 계산하고 스택에 푸시합니다.

정수 나누기에서 0으로 자립니다.

유한 숫자를 0으로 나누면 올바르게 부호 있는 무한 값이 생성됩니다.

0을 0으로 나누거나 무한대로 나누면 NaN(Not-A-Number) 값이 생성됩니다. 무한대로 나눈 숫자는 0 값을 생성합니다.

결과 형식에서 결과를 나타낼 수 없는 경우 정수 연산이 throw ArithmeticException 됩니다. 최대 음수 값이고 value2 -1인 경우 value1 발생할 수 있습니다.

0이면 value2 정수 연산이 throw DivideByZeroException 됩니다.

Intel 기반 플랫폼에서 OverflowException 는 컴퓨팅(최소 div -1)을 계산할 때 throw됩니다. 부동 소수점 연산은 예외를 throw하지 않습니다(대신 NaN 또는 무한대 생성).

다음 Emit 메서드 오버로드는 opcode를 div 사용할 수 있습니다.

적용 대상