Upraviť

Zdieľať cez


BigInteger.Negate(BigInteger) Method

Definition

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)

Applies to

See also