The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

# BigInteger.Abs Method (BigInteger)

.NET Framework 4.6 and 4.5

Gets the absolute value of a BigInteger object.

Namespace:   System.Numerics
Assembly:  System.Numerics (in System.Numerics.dll)

## Syntax

```public static BigInteger Abs(
BigInteger value
)
```

#### Parameters

value
Type: System.Numerics.BigInteger

A number.

#### Return Value

Type: System.Numerics.BigInteger

The absolute value of value.

## Remarks

The absolute value of a number is that number without its sign, as shown in the following table.

value parameter

Return value

value >= 0

value

value < 0

value * -1

The Abs method is equivalent to the Math.Abs method for the primitive numeric types.

## Examples

The following example uses the Abs method to convert a BigInteger value from two's complement representation to sign-and-magnitude representation before serializing it to a file. Data in the file is then deserialized and assigned to a new BigInteger object.

```using System;
using System.IO;
using System.Numerics;
using System.Runtime.Serialization.Formatters.Binary;

[Serializable] public struct SignAndMagnitude
{
public int Sign;
public byte[] Bytes;
}

public class Example
{
public static void Main()
{
FileStream fs;
BinaryFormatter formatter = new BinaryFormatter();

BigInteger number = BigInteger.Pow(Int32.MaxValue, 20) * BigInteger.MinusOne;
Console.WriteLine("The original value is {0}.", number);
SignAndMagnitude sm = new SignAndMagnitude();
sm.Sign = number.Sign;
sm.Bytes = BigInteger.Abs(number).ToByteArray();

// Serialize SignAndMagnitude value.
fs = new FileStream(@".\data.bin", FileMode.Create);
formatter.Serialize(fs, sm);
fs.Close();

// Deserialize SignAndMagnitude value.
fs = new FileStream(@".\data.bin", FileMode.Open);
SignAndMagnitude smRestored = (SignAndMagnitude) formatter.Deserialize(fs);
fs.Close();
BigInteger restoredNumber = new BigInteger(smRestored.Bytes);
restoredNumber *= sm.Sign;
Console.WriteLine("The deserialized value is {0}.", restoredNumber);
}
}
// The example displays the following output:
//    The original value is -4.3510823966323432743748744058E+186.
//    The deserialized value is -4.3510823966323432743748744058E+186.
```

## Version Information

Universal Windows Platform
Available since 4.5
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 4.0
Windows Phone
Available since 8.1