Partilhar via


OpCodes.Rem Campo

Definição

Divide dois valores e envia o restante para a pilha de avaliação.

public: static initonly System::Reflection::Emit::OpCode Rem;
public static readonly System.Reflection.Emit.OpCode Rem;
 staticval mutable Rem : System.Reflection.Emit.OpCode
Public Shared ReadOnly Rem 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:

Formato Formato de assembly Descrição
5D Rem Envia o restante da divisão value1value2 para a pilha.

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

  1. Um value1 é enviado para a pilha.

  2. value2 é enviado para a pilha.

  3. value2 e value1 são retirados da pilha e o restante do value1divvalue2 computado.

  4. O resultado é enviado por push para a pilha.

result = value1 rem value2 atende às seguintes condições:

result = value1 - value2 × (value1divvalue2) e:

0 = | result | < | value2 |, sign(result) = sign(value1), onde div é a instrução de divisão que trunca em direção a zero.

Se value2 for zero ou value1 for infinito, o resultado será NaN. Se value2 for infinito, o resultado será value1 (negado por -infinity).

As operações integrais gerarão DivideByZeroException se value2 for zero.

Observe que, nas plataformas baseadas em Intel, um OverflowException é gerado quando a computação (minint rem -1).

A seguinte sobrecarga do método Emit pode usar o rem opcode:

Aplica-se a