OpCodes.Conv_I 필드
계산 스택 맨 위에 있는 값을 natural int로 변환합니다.
네임스페이스: System.Reflection.Emit
어셈블리: mscorlib(mscorlib.dll)
구문
‘선언
Public Shared ReadOnly Conv_I As OpCode
‘사용 방법
Dim value As OpCode
value = OpCodes.Conv_I
public static readonly OpCode Conv_I
public:
static initonly OpCode Conv_I
public static final OpCode Conv_I
public static final var Conv_I : OpCode
설명
다음 표에서는 명령의 16진수 및 MSIL(Microsoft Intermediate Language) 어셈블리 형식을 간단한 설명과 함께 나열합니다.
형식 |
어셈블리 형식 |
설명 |
---|---|---|
D3 |
conv.i |
natural int로 변환하고 natural int를 스택으로 푸시합니다. |
다음과 같이 순차적으로 스택 전환 동작이 발생합니다.
value가 스택으로 푸시됩니다.
스택에서 value가 팝되고 변환 연산이 수행됩니다.
변환이 성공적이면 결과 값이 스택으로 푸시됩니다.
conv.i opcode가 스택의 맨 위에 있는 value를 opcode에서 지정하는 형식으로 변환하고 변환된 값을 스택 맨 위에 남겨 둡니다. 결과가 natural int인 경우에도 conv.i 또는 conv.u가 사용되지 않으면 4바이트 미만의 정수 값이 계산 스택으로 로드될 때 이러한 값이 int32로 확장됩니다. 부동 소수점 값은 F 형식으로 변환됩니다.
부동 소수점 숫자를 정수 값으로 변환하면 소수점 부분을 잘라 0으로 만듭니다. float64를 float32로 변환하면 정밀도가 떨어집니다. value가 너무 커서 **float32 (F)**에 맞지 않으면 value가 양수인 경우 양의 무한대가 반환되고, value가 음수인 경우 음의 무한대가 반환됩니다. 정수 형식을 다른 정수 형식으로 변환하는 경우 오버플로가 발생하면 상위 비트가 잘립니다. 결과가 int32보다 작으면 슬롯을 채우기 위해 값의 부호가 확장됩니다.
부동 소수점 형식을 정수로 변환하는 경우 오버플로가 발생하면 반환되는 값이 지정되지 않습니다.
이 필드를 사용하면 예외가 throw되지 않습니다. 결과 형식이 결과 값을 올바르게 나타내지 못할 경우 예외를 throw하는 동일한 명령에 대한 내용은 Conv_Ovf_I과 Conv_Ovf_I_Un을 참조하십시오.
다음 Emit 메서드 오버로드는 conv.i opcode를 사용할 수 있습니다.
- ILGenerator.Emit(OpCode)
플랫폼
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.
버전 정보
.NET Framework
2.0, 1.1, 1.0에서 지원