다음을 통해 공유


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 

필드 값

설명

다음 표에는 간단한 참조 요약과 함께 명령의 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 양수 무한대(양수인 경우value) 또는 음의 무한대(가 음수인 경우value)가 반환float32 (F)됩니다. 한 정수 형식을 다른 정수 형식으로 변환하는 오버플로가 발생하면 상위 비트가 잘립니다. 결과가 보다 int32작으면 값은 슬롯을 채우기 위해 기호 확장됩니다.

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

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

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

적용 대상