OpCodes.Conv_I4 필드

정의

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

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

필드 값

OpCode

설명

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

서식 어셈블리 형식 Description
69 conv.i4 스택에서 int32푸시하여 int32 변환합니다.

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

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

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

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

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

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

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

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

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

적용 대상