# BigInteger.Subtract(BigInteger, BigInteger) Method

## Definition

Subtracts one BigInteger value from another and returns the result.

``````public:
static System::Numerics::BigInteger Subtract(System::Numerics::BigInteger left, System::Numerics::BigInteger right);``````
``public static System.Numerics.BigInteger Subtract (System.Numerics.BigInteger left, System.Numerics.BigInteger right);``
``static member Subtract : System.Numerics.BigInteger * System.Numerics.BigInteger -> System.Numerics.BigInteger``
``Public Shared Function Subtract (left As BigInteger, right As BigInteger) As BigInteger``

#### Parameters

left
BigInteger

The value to subtract from (the minuend).

right
BigInteger

The value to subtract (the subtrahend).

#### Returns

BigInteger

The result of subtracting `right` from `left`.

## Remarks

Languages that do not support custom operators can use the Subtract method to perform subtraction using BigInteger values.

The Subtract method is a useful substitute for the subtraction operator when instantiating a BigInteger variable by assigning it the difference that results from subtraction, as shown in the following example.

``````// The statement
//    BigInteger number = Int64.MinValue - Int64.MaxValue;
// produces compiler error CS0220: The operation overflows at compile time in checked mode.
// The alternative:
BigInteger number = BigInteger.Subtract(Int64.MinValue, Int64.MaxValue);
``````
``````' The statement
'    Dim number As BigInteger = Int64.MinValue - Int64.MaxValue
' produces compiler error BC30439: Constant expression not representable in type 'Long'.
' The alternative:
Dim number As BigInteger = BigInteger.Subtract(Int64.MinValue, Int64.MaxValue)
``````