OpCodes.Conv_R_Un 필드

정의

계산 스택 맨 위에 있는 부호 없는 정수 값을 float32로 변환합니다.

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

필드 값

OpCode

설명

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

서식 어셈블리 형식 Description
76 conv.r.un 부호 없는 정수는 부동 소수점으로 변환하고 스택에서 푸시합니다 F .

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

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

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

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

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

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

오버플로가 발생하는 경우 부동 소수점 형식을 정수로 변환하면 반환된 result 형식은 지정되지 않습니다. 이 conv.r.un 작업은 스택에서 정수를 가져와 부호 없는 것으로 해석하고 정수를 나타내는 float32``float64부동 소수점 숫자로 바꿉니다.

이 필드를 사용할 때 예외가 throw되지 않습니다.

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

적용 대상