System.Reflection.Emit.OpCodes.Neg Field

Negates a value and pushes the result onto the evaluation stack.

Syntax

public static readonly OpCode Neg

Remarks

The following table lists the instruction's hexadecimal and Microsoft Intermediate Language (MSIL) assembly format, along with a brief reference summary:

65

neg

Negates the value currently on top of the stack.

The stack transitional behavior, in sequential order, is:

[The 'ordered' type of list has not been implemented in the ECMA stylesheet.]

The neg instruction negates value and pushes the result on top of the stack. The return type is the same as the operand type.

Negation of integral values is standard two's complement negation. In particular, negating the most negative number (which does not have a positive counterpart) yields the most negative number. To detect this overflow use the OpCodes.Sub_Ovf instruction instead (that is, subtract from 0).

Negating a floating-point number cannot overflow, and negating NaN returns NaN.

The following ILGenerator.Emit(OpCode) method overload can use the neg opcode:

  • ILGenerator.Emit(OpCode)

Requirements

Namespace: System.Reflection.Emit
Assembly: mscorlib (in mscorlib.dll)
Assembly Versions: 1.0.5000.0, 2.0.0.0, 4.0.0.0