BigInteger.Abs(BigInteger) BigInteger.Abs(BigInteger) BigInteger.Abs(BigInteger) BigInteger.Abs(BigInteger) Method

정의

BigInteger 개체의 절대 값을 가져옵니다.Gets the absolute value of a BigInteger object.

public:
 static System::Numerics::BigInteger Abs(System::Numerics::BigInteger value);
public static System.Numerics.BigInteger Abs (System.Numerics.BigInteger value);
static member Abs : System.Numerics.BigInteger -> System.Numerics.BigInteger
Public Shared Function Abs (value As BigInteger) As BigInteger

매개 변수

value
BigInteger BigInteger BigInteger BigInteger

숫자입니다.A number.

반환

value의 절대값입니다.The absolute value of value.

예제

다음 예제에서는 합니다 Abs 변환할 메서드는 BigInteger 파일로 직렬화 하는 작업 하기 전에 로그인 및 크기 표현에 값 2의 보수 표현에서.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. 파일의에서 데이터를 한 다음 deserialize 및 새 할당할 BigInteger 개체입니다.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.
Imports System.IO
Imports System.Numerics
Imports System.Runtime.Serialization.Formatters.Binary

<Serializable> Public Structure SignAndMagnitude
   Dim Sign As Integer
   Dim Bytes() As Byte
End Structure

Module Example
   Public Sub Main()
      Dim fs As FileStream
      Dim formatter As New BinaryFormatter()

      Dim number As BigInteger = BigInteger.Pow(Int32.MaxValue, 20) * BigInteger.MinusOne
      Console.WriteLine("The original value is {0}.", number)
      Dim sm As 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)
      Dim smRestored As SignAndMagnitude = DirectCast(formatter.Deserialize(fs), SignAndMagnitude)
      fs.Close()
      Dim restoredNumber As New BigInteger(smRestored.Bytes) 
      restoredNumber *= sm.Sign 
      Console.WriteLine("The deserialized value is {0}.", restoredNumber)      
   End Sub
End Module
' The example displays the following output:
'    The original value is -4.3510823966323432743748744058E+186.
'    The deserialized value is -4.3510823966323432743748744058E+186.

설명

숫자의 절대 값을 다음 표에 나와 있는 것 처럼은 부호가 없는 해당 숫자는 합니다.The absolute value of a number is that number without its sign, as shown in the following table.

value 매개 변수value parameter 반환 값Return value
value >= 0value >= 0 value
value < 0value < 0 value * -1value * -1

합니다 Abs 메서드는 해당 하는 Math.Abs 기본 숫자 형식에 대 한 메서드.The Abs method is equivalent to the Math.Abs method for the primitive numeric types.

적용 대상

추가 정보