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)


Gets the absolute value of a BigInteger object.

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

public static BigInteger Abs(
	BigInteger value


Type: System.Numerics.BigInteger

A number.

Return Value

Type: System.Numerics.BigInteger

The absolute value of value.

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 < 0

value * -1

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

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

      // Deserialize SignAndMagnitude value.
      fs = new FileStream(@".\data.bin", FileMode.Open);
      SignAndMagnitude smRestored = (SignAndMagnitude) formatter.Deserialize(fs);
      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.

Universal Windows Platform
Available since 4.5
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Available since 4.0
Windows Phone
Available since 8.1
Return to top
© 2015 Microsoft