Поделиться через


OpCodes.Rem Поле

Определение

Делит два значения и отправляет оставшуюся часть в стек вычислений.

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 

Значение поля

Комментарии

В следующей таблице перечислены шестнадцатеричные и шестнадцатеричные и msIL-коды инструкции, а также краткие справочные сводки:

Формат Формат сборки Описание
5D рем Отправляет оставшуюся часть деления value1 на value2 в стек.

Переходное поведение стека в последовательном порядке:

  1. value1 помещается в стек.

  2. value2 отправляется в стек.

  3. value2 и value1 отображаются из стека и остальные value1divvalue2 вычисляются.

  4. Результат передается в стек.

result = value1 rem value2 удовлетворяет следующим условиям:

result = value1 - value2 × (value1divvalue2) и:

0 = | result | < | value2 |, sign(result) = sign(value1), где div — это инструкция деления, которая усечена к нулю.

Если value2 равно нулю или value1 бесконечность результатом является NaN. Если value2 бесконечность, результат value1 (отрицается для -infinity).

Целочисленные операции вызывают DivideByZeroException, если value2 равно нулю.

Обратите внимание, что на платформах Intel OverflowException возникает при вычислении (мининт rem -1).

Следующая перегрузка метода Emit может использовать rem opcode:

Применяется к