OpCodes.Neg 字段

定义

对一个值执行求反并将结果推送到计算堆栈上。

C#
public static readonly System.Reflection.Emit.OpCode Neg;

字段值

注解

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

格式 程序集格式 说明
65 neg 将当前位于堆栈顶部的值求反。

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

  1. 值将推送到堆栈上。

  2. 一个值从堆栈中弹出并被否定。

  3. 结果将推送到堆栈上。

指令 neg 将值求反,并将结果推送到堆栈顶部。 返回类型与操作数类型相同。

整型值的求反是标准二的补反。 具体而言,如果否定最负数 (没有正对数) 生成负数。 若要检测此溢出, Sub_Ovf 请改用指令 (,即从 0 减去) 。

否定浮点数不能溢出,而否定 NaN 将返回 NaN。

以下 Emit 方法重载可以使用 neg opcode:

适用于

产品 版本
.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