SSISO Community

시소당

java.math 클래스 BigInteger

클래스 BigInteger

java.lang.Object 
상위를 확장 java.lang.Number
상위를 확장 java.math.BigInteger
모든 구현된 인터페이스:
Serializable, Comparable <BigInteger >

public class BigInteger
extends Number
implements Comparable <BigInteger >

변경이 불가능한, 임의 정밀도의 정수입니다. 모든 연산은, BigInteger 가 (Java 원시적 정수형과 같은) 2 치 보수 표기법으로 나타내졌는지와 같이 동작합니다. BigInteger는 Java 모든 원시적 정수 연산자와 java.lang.Math 관련된 모든 메서드에 동등의 것을 제공합니다. 또, BigInteger는 모듈러 산술, GCD 계산, 소수도 테스트, 소수 생성, 비트 조작, 그 외의 몇개의 조작에 대한 연산도 제공합니다.

산술 연산의 시멘틱스는 「Java 언어 사양」에 정의되고 있도록 Java 정수 산술 연산자를 정확하게 모방합니다. 예를 들어, 제로 제산은 ArithmeticException를 Throw 해, 정의 수에 한 부의 수의 제산은 부 (또는 0)의 잉여를 냅니다. 오버플로우에 관한 사양내의 자세한 것은 모두 무시되어 BigInteger는 연산의 결과의 수락에 필요한 만큼 커집니다.

쉬프트 연산의 시멘틱스는 부의 쉬프트 이동량을 가능하게 하기 위한(해) Java 쉬프트 연산자를 확장하고 있습니다. 부의 쉬프트 이동량을 가지는 오른쪽 쉬프트는 왼쪽 쉬프트가 됩니다. 역의 경우도 같습니다. 부호 없음의 오른쪽 쉬프트 연산자 (>>>)는 이 연산에서는 이 클래스가 제공하는 「무한의 워드 사이즈」추출과 조합하는 미가 거의 없기 때문에 생략해지고 있습니다.

비트 단위의 논리 연산의 시멘틱스는 Java 비트 정수 연산자의 시멘틱스를 정확하게 모방하고 있습니다. 2 항연산자 (and,or,xor)는 연산전에 2 개의 오퍼랜드의 짧은 (분)편에 대해서 암묵적으로 부호 확장을 실시합니다.

비교 연산은 부호 첨부 정수의 비교를 실시합니다. 이것은, Java 관련된 연산자 및 동등의 연산자에 해 행해지는 것 것과 같습니다.

모듈러 산술 연산은, 잉여 계산, 나무승 및 곱셈 역수 계산을 위해서 제공되고 있습니다. 이러한 메서드는 항상 0 으로 (modulus - 1) 사이의 부가 아닌 결과를 돌려줍니다.

비트 연산은, 오퍼랜드의 2 보수 표현의 싱글 비트에 사용합니다. 필요에 따라서, 오퍼랜드의 부호는 지시하는 비트를 가지도록 확장됩니다. 연산중의 BigInteger 와 다른 부호를 가지는 BigInteger를 생성하는 싱글 비트 연산은 없습니다. 이것은, 싱글 비트 연산이 단일의 비트에만 영향을 주어, 이 클래스가 제공하는 「무한의 워드 사이즈」추출에 해, 각 BigInteger 에 선행하는 무한의 「가상 부호 비트」가 존재하기 때문에입니다.

설명을 알기 쉽고 간결하게 하기 위해서, BigInteger 메서드의 설명에서는 전체를 통해 사 코드를 사용합니다. 사 코드식 (i + j) 은, 「값이 BigInteger i 값과 BigInteger j 값의 화인 BigInteger」를 나타냅니다. 사 코드식 (i == j) 은, 「BigInteger i 가 BigInteger j 와 같은 값을 나타내는 경우에만 true 인 것」을 나타냅니다. 다른 사 코드식도 똑같이 해석됩니다.

이 클래스의 메서드 및 생성자는 모두, 입력 파라메이타에 대해서 null 오브젝트 참조가 건네받으면 NullPointerException를 Throw 합니다.

도입된 버젼:
JDK1. 1
관련 항목:
BigDecimal, 직렬화 된 형식

필드 개요
static BigInteger ONE
          BigInteger 정수 1 입니다.
static BigInteger TEN
          BigInteger 정수 10 입니다.
static BigInteger ZERO
          BigInteger 정수 0 입니다.
 
생성자 개요
BigInteger (byte[] val)
          BigInteger 2 보수 2 진표현을 포함한 바이트 배열을 BigInteger 로 변환합니다.
BigInteger (int signum, byte[] magnitude)
          BigInteger 부호 절대치 표현을 BigInteger 로 변환합니다.
BigInteger (int bitLength, int certainty, Random  rnd)
          랜덤에 생성된 (아마 소수이다) 정의 BigInteger를 , 지정한 비트수로 구축합니다.
BigInteger (int numBits, Random  rnd)
          0 ~ (2numBits - 1) 범위에 한결같게 분산되고 있는 랜덤에 생성된 BigInteger를 구축합니다.
BigInteger (String  val)
          BigInteger 10 진 String 표현을 BigInteger 로 변환합니다.
BigInteger (String  val, int radix)
          지정된 기수내의 BigInteger String 표현을 BigInteger 로 변환합니다.
 
메서드 개요
 BigInteger abs ()
          값이 이 BigInteger 절대치인 BigInteger를 돌려줍니다.
 BigInteger add (BigInteger  val)
          값이 (this + val) BigInteger를 돌려줍니다.
 BigInteger and (BigInteger  val)
          값이 (this & val) BigInteger를 돌려줍니다 (이 메서드는 this 와 val 양쪽 모두가 부의 경우는 부의 BigInteger를 돌려준다).
 BigInteger andNot (BigInteger  val)
          값이 (this & ~val) 인 BigInteger를 돌려줍니다.
 int bitCount ()
          이 BigInteger 2 보수 표현내의, 부호 비트와 다른 비트의 수를 돌려줍니다.
 int bitLength ()
          이 BigInteger 최소의 2 보수 표현내의 비트수를 돌려줍니다.
 BigInteger clearBit (int n)
          값이 이 BigInteger 에 동일한 BigInteger를 , 지정된 비트를 클리어 해 돌려줍니다 ((this & ~(1<<n))를 계산한다).
 int compareTo (BigInteger  val)
          이 BigInteger 가 지정된 BigInteger 와 비교합니다.
 BigInteger divide (BigInteger  val)
          값이 (this / val) BigInteger를 돌려줍니다.
 BigInteger [] divideAndRemainder (BigInteger  val)
          (this / val) 그리고 (this % val) 계속되는 2 개의 BigInteger 배열을 돌려줍니다.
 double doubleValue ()
          이 BigInteger를 double 로 변환합니다.
 boolean equals (Object  x)
          이 BigInteger 와 지정된 Object 가 동일한지 어떤지를 비교합니다.
 BigInteger flipBit (int n)
          값이 이 BigInteger 에 동일한 BigInteger를 , 지정된 비트를 반전시켜 돌려줍니다 ((this ^ (1<<n))를 계산한다).
 float floatValue ()
          이 BigInteger를 float 로 변환합니다.
 BigInteger gcd (BigInteger  val)
          값이 abs(this)abs(val) 최대공약수인 BigInteger를 돌려줍니다.
 int getLowestSetBit ()
          이 BigInteger 가장 우측 (1 번 낮은 위)의 1 비트의 인덱스 (가장 우측의 1 비트의 우측향의 0 비트의 수)를 돌려줍니다.
 int hashCode ()
          이 BigInteger 해시 코드를 돌려줍니다.
 int intValue ()
          이 BigInteger를 int 로 변환합니다.
 boolean isProbablePrime (int certainty)
          이 BigInteger 가 소수일 가능성이 높은 경우는 true를 돌려주고, 반드시 합성수인 경우는 false를 돌려줍니다.
 long longValue ()
          이 BigInteger를 long 로 변환합니다.
 BigInteger max (BigInteger  val)
          이 BigInteger 와 val 최대치를 돌려줍니다.
 BigInteger min (BigInteger  val)
          이 BigInteger 와 val 최소치를 돌려줍니다.
 BigInteger mod (BigInteger  m)
          값이 (this mod m)의 BigInteger를 돌려줍니다.
 BigInteger modInverse (BigInteger  m)
          값이 (this-1 mod m) BigInteger를 돌려줍니다.
 BigInteger modPow (BigInteger  exponent, BigInteger  m)
          값이 (thisexponent mod m) BigInteger를 돌려줍니다 (pow 와 달리, 이 메서드는 부의 지수를 허용 한다).
 BigInteger multiply (BigInteger  val)
          값이 (this * val) BigInteger를 돌려줍니다.
 BigInteger negate ()
          값이 (-this) BigInteger를 돌려줍니다.
 BigInteger nextProbablePrime ()
          이 BigInteger 보다 큰 최초의 정수 (아마 소수)를 돌려줍니다.
 BigInteger not ()
          값이 (~this) BigInteger를 돌려줍니다 (이 메서드는 이 BigInteger 가 부가 아닌 경우에 부의 값을 돌려준다).
 BigInteger or (BigInteger  val)
          값이 (this | val) BigInteger를 돌려줍니다 (이 메서드는 this 또는 val 가 부의 경우는 부의 BigInteger를 돌려준다).
 BigInteger pow (int exponent)
          값이 (thisexponent) BigInteger를 돌려줍니다.
static BigInteger probablePrime (int bitLength, Random  rnd)
          지정된 bit length로 정의 BigInteger (아마 소수)를 돌려줍니다.
 BigInteger remainder (BigInteger  val)
          값이 (this % val) BigInteger를 돌려줍니다.
 BigInteger setBit (int n)
          값이 이 BigInteger 에 동일한 BigInteger를 , 지정된 비트를 설정해 돌려줍니다 ((this | (1<<n))를 계산한다).
 BigInteger shiftLeft (int n)
          값이 (this << n) BigInteger를 돌려줍니다.
 BigInteger shiftRight (int n)
          값이 (this >> n) BigInteger를 돌려줍니다.
 int signum ()
          이 BigInteger 부호 요소를 돌려줍니다.
 BigInteger subtract (BigInteger  val)
          값이 (this - val) BigInteger를 돌려줍니다.
 boolean testBit (int n)
          지정된 비트가 설정되어 있는 경우에만 true를 돌려줍니다 ((this & (1<<n)) !
 byte[] toByteArray ()
          이 BigInteger 2 보수 표현을 포함한 바이트 배열을 돌려줍니다.
 String toString ()
          이 BigInteger 10 진 String 표현을 돌려줍니다.
 String toString (int radix)
          지정된 기수내의 이 BigInteger String 표현을 돌려줍니다.
static BigInteger valueOf (long val)
          값이 지정된 long 값과 동일한 BigInteger를 돌려줍니다.
 BigInteger xor (BigInteger  val)
          값이 (this ^ val) BigInteger를 돌려줍니다 (이 메서드는 this 와 val 다른 한쪽만이 부의 경우에 부의 BigInteger를 돌려준

1748 view

4.0 stars