Поделиться через


BigInteger.Negate(BigInteger) Метод

Определение

Меняет знак указанного значения BigInteger.

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

Параметры

value
BigInteger

Инвертируемое значение.

Возвращаемое значение

Результат умножения параметра value на минус единицу (-1).

Примеры

В следующем примере показаны три способа отмены BigInteger значения объекта.

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

Комментарии

Отрицание получает аддитивную инверсию числа. Аддитивная инверсия числа — это число, которое создает нулевое значение при его добавлении к исходному числу.

Метод Negate реализован для языков, которые не поддерживают пользовательские операторы. Его поведение идентично отрицанию с помощью оператора унарного отрицания. Кроме того, Negate метод является полезной заменой оператора отрицания при создании экземпляра переменной BigInteger , как показано в следующем примере.

// 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)

Применяется к

См. также раздел