Compartilhar via


OpCodes.Conv_Ovf_I8_Un Campo

Definição

Converte o valor sem sinal no topo da pilha de avaliação em int64 com sinal, gerando OverflowException no estouro.

public: static initonly System::Reflection::Emit::OpCode Conv_Ovf_I8_Un;
public static readonly System.Reflection.Emit.OpCode Conv_Ovf_I8_Un;
 staticval mutable Conv_Ovf_I8_Un : System.Reflection.Emit.OpCode
Public Shared ReadOnly Conv_Ovf_I8_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
85 conv.ovf.i8.un Converte um valor não assinado em um int64 (na pilha como int64) e gera uma exceção no estouro.

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. Se ocorrer estouro, uma exceção será gerada.

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

O conv.ovf.i8.un opcode converte o value na parte superior da pilha para o tipo especificado no opcode e coloca o valor convertido na parte superior da pilha. Se o valor for muito grande ou muito pequeno para ser representado pelo tipo de destino, uma exceção será gerada.

Conversões de números de ponto flutuante em valores inteiros truncam o número em direção a zero. Observe que valores inteiros de menos de 4 bytes são estendidos para int32 quando são carregados na pilha de avaliação (a menos que ou conv.ovf.u sejam usadosconv.ovf.i, nesse caso, o resultado também native inté ).

OverflowException será gerado se o resultado não puder ser representado no tipo de resultado.

A sobrecarga do método Emit a seguir pode usar o conv.ovf.i8.un opcode:

Aplica-se a