OpCodes.Rem Campo
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Divide dois valores e empurra 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 de Campo
Observações
A tabela seguinte lista o formato hexadecimal e assembly da Microsoft Intermediate Language (MSIL) da instrução, juntamente com um breve resumo de referência:
| Formato | Formato de Montagem | Descrição |
|---|---|---|
| 5D | rem | Empurra o resto da divisão value1value2 para a pilha. |
O comportamento de transição da pilha, por ordem sequencial, é:
A
value1é empurrado para a pilha.value2é empurrado para a pilha.value2evalue1são extraídos da pilha e o restante devalue1divvalue2computado.O resultado é empurrado para a pilha.
result
=
value1
rem
value2 satisfaz as seguintes condições:
result
=
value1
-
value2
× (value1divvalue2), e:
0 = | result | < | value2 |, signo(result) = signo(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 é NaN. Se value2 for infinito, o resultado é value1 (negado para -infinity).
As operações integrais lançam DivideByZeroException se value2 for zero.
Note que nas plataformas baseadas em Intel, um OverflowException é lançado ao calcular (minint rem -1).
O seguinte Emit método de sobrecarga pode usar o rem opcode: