Partilhar via


OpCodes.Conv_U8 Campo

Definição

Converte o valor na parte superior da pilha de avaliação em unsigned int64 e estende-o para int64.

public: static initonly System::Reflection::Emit::OpCode Conv_U8;
public static readonly System.Reflection.Emit.OpCode Conv_U8;
 staticval mutable Conv_U8 : System.Reflection.Emit.OpCode
Public Shared ReadOnly Conv_U8 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
6E conv.u8 Converter em int64, efetuando int64 push na pilha.

O comportamento de transição da pilha, em ordem sequencial, é:

  1. value é enviado por push para a pilha.

  2. value é exibido da pilha e a operação de conversão é tentada.

  3. Se a conversão for bem-sucedida, o valor resultante será enviado por push para a pilha.

O conv.u8 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 valor retornado não será especificado.

Nenhuma exceção é gerada ao usar esse campo. Confira Conv_Ovf_I8 e Conv_Ovf_I8_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.u8 opcode:

Aplica-se a