OpCodes.Conv_R_Un Campo
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Converte o valor de inteiro sem sinal na parte superior da pilha de avaliação em 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
Valor do campo
Comentários
A tabela a seguir lista o formato de assembly hexadecimal e MSIL (Microsoft Intermediate Language) da instrução, juntamente com um breve resumo de referência:
Formatar | Formato de assembly | Descrição |
---|---|---|
76 | conv.r.un | Converter inteiro sem sinal em ponto flutuante, efetuando F push na pilha. |
O comportamento de transição da pilha, em ordem sequencial, é:
value
é enviado por push para a pilha.value
é removido da pilha e a operação de conversão é tentada.Se a conversão for bem-sucedida, o valor resultante será enviado por push para a pilha.
O conv.r.un
opcode converte o value
na parte superior da pilha para o tipo especificado no opcode e deixa esse valor convertido na parte superior da pilha. Os valores inteiros de menos de 4 bytes são estendidos para int32
quando são carregados conv.i
na pilha de avaliação (a menos que ou conv.u
seja usado; nesse caso, o resultado também native int
é ). Os valores de ponto flutuante são convertidos no F
tipo .
A conversão de números de ponto flutuante em valores inteiros trunca o número em direção a zero. Ao converter de um float64
para um float32
, a precisão pode ser perdida. Se value
for muito grande para caber em um float32 (F)
, o infinito positivo (se value
for positivo) ou o infinito negativo (se value
for negativo) será retornado. Se ocorrer estouro convertendo um tipo inteiro em outro, os bits de ordem alta serão truncados. Se o resultado for menor que um int32
, o valor será estendido por sinal para preencher o slot.
Se ocorrer estouro convertendo um tipo de ponto flutuante em um inteiro, o result
retornado não será especificado. A conv.r.un
operação tira um inteiro da pilha, interpreta-o como sem sinal e substitui-o por um número de ponto flutuante para representar o inteiro: um float32
, se for largo o suficiente para representar o inteiro sem perda de precisão ou um float64
.
Nenhuma exceção é gerada ao usar esse campo.
Emit A seguinte sobrecarga de método pode usar o conv.r.un
opcode: