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 в стек. |
Переходное поведение стека в последовательном порядке:
value1помещается в стек.value2отправляется в стек.value2иvalue1отображаются из стека и остальныеvalue1divvalue2вычисляются.Результат передается в стек.
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: