BigInteger.Negate(BigInteger) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Negates a specified BigInteger value.
public:
static System::Numerics::BigInteger Negate(System::Numerics::BigInteger value);
public static System.Numerics.BigInteger Negate (System.Numerics.BigInteger value);
static member Negate : System.Numerics.BigInteger -> System.Numerics.BigInteger
Public Shared Function Negate (value As BigInteger) As BigInteger
Parameters
- value
- BigInteger
The value to negate.
Returns
The result of the value
parameter multiplied by negative one (-1).
Examples
The following example illustrates three ways to negate the value of a BigInteger object.
BigInteger number = 12645002;
Console.WriteLine(BigInteger.Negate(number)); // Displays -12645002
Console.WriteLine(-number); // Displays -12645002
Console.WriteLine(number * BigInteger.MinusOne); // Displays -12645002
let number = 12645002I
printfn $"{BigInteger.Negate number}" // Displays -12645002
printfn $"{-number}" // Displays -12645002
printfn $"{number * BigInteger.MinusOne}" // Displays -12645002
Dim number As BigInteger = 12645002
Console.WriteLine(BigInteger.Negate(number)) ' Displays -12645002
Console.WriteLine(-number) ' Displays -12645002
Console.WriteLine(number * BigInteger.MinusOne) ' Displays -12645002
Remarks
Negation obtains the additive inverse of a number. The additive inverse of a number is a number that produces a value of zero when it is added to the original number.
The Negate method is implemented for languages that do not support custom operators. Its behavior is identical to negation using the unary negation operator. In addition, the Negate method is a useful substitute for the negation operator when instantiating a BigInteger variable, as shown in the following example.
// The statement
// BigInteger number = -Int64.MinValue;
// produces compiler error CS0220: The operation overflows at compile time in checked mode.
// The alternative:
BigInteger number = BigInteger.Negate(Int64.MinValue);
let number = BigInteger.Negate Int64.MinValue
' The statement
' Dim number As BigInteger = -Int64.MinValue
' produces compiler error BC30439: Constant expression not representable in type 'Long'.
' The alternative:
Dim number As BigInteger = BigInteger.Negate(Int64.MinValue)