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)