使用英语阅读

通过


OpCodes.Rem 字段

定义

将两个值除以将余数推送到计算堆栈。

public static readonly System.Reflection.Emit.OpCode Rem;

字段值

注解

下表列出了指令的十六进制和Microsoft中间语言(MSIL)程序集格式,以及简短的参考摘要:

格式 程序集格式 描述
5D 雷姆 将除 value1 的其余部分 value2 推到堆栈上。

堆栈过渡行为按顺序排列,为:

  1. value1 推送到堆栈上。

  2. value2 被推送到堆栈上。

  3. 从堆栈中弹出 value2value1 以及计算 value1divvalue2 的其余部分。

  4. 结果被推送到堆栈上。

result = value1 rem value2 满足以下条件:

result = value1 - value2 ×value1divvalue2),和:

0 = |result |< |value2 |, sign(result) = sign(value1),其中 div 是截断为零的除法指令。

如果 value2 为零或 value1 为无穷大,则结果为 NaN。 如果 value2 为无穷大,则结果为 value1(对 -infinity求反)。

如果 value2 为零,整型运算将引发 DivideByZeroException

请注意,在基于 Intel 的平台上,计算时会引发 OverflowException(小型 rem -1)。

以下 Emit 方法重载可以使用 rem 操作码:

适用于

产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0