OpCodes.Conv_U 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 na parte superior da pilha unsigned native intde avaliação e estende-o para native int.
public: static initonly System::Reflection::Emit::OpCode Conv_U;
public static readonly System.Reflection.Emit.OpCode Conv_U;
staticval mutable Conv_U : System.Reflection.Emit.OpCode
Public Shared ReadOnly Conv_U As OpCode
Valor do campo
Comentários
A tabela a seguir lista o formato de assembly hexadecimal e Microsoft linguagem intermediária (MSIL) da instrução, juntamente com um breve resumo de referência:
| Formato | Formato de assembly | Description |
|---|---|---|
| E0 | conv.u | Converta em unsigned native int, efetuando native int push na pilha. |
O comportamento de transição da pilha, em ordem sequencial, é:
valueé empurrado para a pilha.valueé retirado 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.u opcode converte a value parte superior da pilha para o tipo especificado no opcode e deixa esse valor convertido na parte superior da pilha. 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)infinito positivo (se value for positivo) ou 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 para preencher o slot.
Se ocorrer estouro convertendo um tipo de ponto flutuante em um inteiro, o valor retornado não será especificado.
Nenhuma exceção é gerada ao usar esse campo. Consulte Conv_Ovf_I e Conv_Ovf_I_Un para obter instruções equivalentes que gerarão uma exceção quando o tipo de resultado não puder representar corretamente o valor do resultado.
A sobrecarga do método Emit a seguir pode usar o conv.u opcode: