다음을 통해 공유


OpCodes.Conv_I 필드

정의

계산 스택 맨 위에 있는 값을 native int로 변환합니다.

public: static initonly System::Reflection::Emit::OpCode Conv_I;
public static readonly System.Reflection.Emit.OpCode Conv_I;
 staticval mutable Conv_I : System.Reflection.Emit.OpCode
Public Shared ReadOnly Conv_I As OpCode 

필드 값

설명

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

서식 어셈블리 형식 Description
D3 conv.i 로 변환하고 native int스택에서 푸시합니다 native int .

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

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

  2. value 스택에서 팝되고 변환 작업이 시도됩니다.

  3. 변환에 성공하면 결과 값이 스택에 푸시됩니다.

opcode는 conv.i 스택 맨 위에 있는 를 opcode에 지정된 형식으로 변환 value 하고 변환된 값을 스택 맨 위에 둡니다. 4바이트 미만의 정수 값은 평가 스택에 로드될 때 로 확장 int32 됩니다(또는 conv.u 를 사용하지 않는 한 conv.i 결과도 native int). 부동 소수점 값은 형식으로 F 변환됩니다.

부동 소수점 숫자에서 정수 값으로 변환하면 숫자가 0으로 잘립니다. 에서 로 float64 변환할 때 전체 자릿수가 float32손실될 수 있습니다. 가 너무 커서 에 맞지 않으면 value 양수 무한대(양수인 경우value) 또는 음수 무한대(가 음수인 경우value)가 반환float32 (F)됩니다. 한 정수 형식을 다른 정수 형식으로 변환하는 오버플로가 발생하면 높은 순서의 비트가 잘립니다. 결과가 보다 int32작은 경우 값은 슬롯을 채우기 위해 기호 확장됩니다.

오버플로가 발생하는 경우 부동 소수점 형식을 정수로 변환하면 반환되는 값은 지정되지 않습니다.

이 필드를 사용할 때 예외가 throw되지 않습니다. 결과 형식이 결과 값을 제대로 나타낼 수 없을 때 예외를 throw하는 동등한 지침은 및 Conv_Ovf_I_Un 을 참조 Conv_Ovf_I 하세요.

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

적용 대상