JavaTM Platform
Standard Ed. 6

java.math
클래스 BigInteger

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


public class BigInteger
extends Number
implements Comparable <BigInteger >

변경이 불가능한, 임의 정밀도의 정수입니다. 모든 연산은, BigInteger 가 (Java 의 프리미티브(primitive) 정수형과 같은) 2 치 보수 표기법으로 나타내졌는지와 같이 동작합니다. BigInteger 는, Java 의 모든 프리미티브(primitive) 정수 연산자와 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 가 부가 아닌 경우에 0 보다 작은 값을 돌려준다).
 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)) ! = 0) 을 계산한다).
 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 를 돌려준다).
 
클래스 java.lang. Number 로부터 상속된 메소드
byteValue , shortValue
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , finalize , getClass , notify , notifyAll , wait , wait , wait
 

필드의 상세

ZERO

public static final BigInteger  ZERO
BigInteger 정수 0 입니다.

도입된 버젼:
1.2

ONE

public static final BigInteger  ONE
BigInteger 정수 1 입니다.

도입된 버젼:
1.2

TEN

public static final BigInteger  TEN
BigInteger 정수 10 입니다.

도입된 버젼:
1.5
생성자 의 상세

BigInteger

public BigInteger(byte[] val)
BigInteger 의 2 의 보수 2 진표현을 포함한 바이트 배열을 BigInteger 로 변환합니다. 입력 배열은 「빅 endian」의 바이트 순서 (최상정도 바이트가 [0] 번째의 요소)라고 보여집니다.

파라미터:
val - BigInteger 의, 빅 endian 2 의 보수 바이너리 표현
예외:
NumberFormatException - val 의 길이가 0 바이트의 경우

BigInteger

public BigInteger(int signum,
                  byte[] magnitude)
BigInteger 의 부호 절대치 표현을 BigInteger 로 변환합니다. 부호는 정수의 부호치 (부는 -1, 제로는 0, 정은 1)로서 나타내집니다. 절대치는 「빅 endian」의 바이트 순서의 바이트 배열 (최상정도 바이트가 [0] 번째의 요소)입니다. 길이가 0 의 절대치 배열은 허용 되어 부호가 -1, 0, 또는 1 의 어떤 것일까 에 관계없이 BigInteger 치 0 이 됩니다.

파라미터:
signum - 숫자의 부호 (부는 -1, 제로는 0, 정은 1)
magnitude - 숫자의 절대치의 빅 endian 바이너리 표현
예외:
NumberFormatException - signum 가 3 개의 유효한 값 (-1, 0, 1)의 어떤 것도 아닌지,signum 가 0 으로, magnitude 에 1 개 이상의 0 이외의 바이트가 포함되어 있는 경우

BigInteger

public BigInteger(String  val,
                  int radix)
지정된 기수내의 BigInteger 의 String 표현을 BigInteger 로 변환합니다. String 표현은, 지정된 기수내의 임의의 마이너스 부호와 거기에 계속되는 1 개(살) 이상의 숫자의 열로 구성됩니다. 문자형으로부터 수치형에의 매핑은 Character.digit 로 제공되고 있습니다. String 에는, 올바르지 않은 문자 (공백등)를 포함할 수 없습니다.

파라미터:
val - BigInteger 의 String 표현
radix - val 의 해석으로 사용되는 기수
예외:
NumberFormatException - val 가 지정한 기수내의 BigInteger 의 유효한 표현이 아닌지,radixCharacter.MIN_RADIX ~ Character.MAX_RADIX 의 범위외에 있는 경우
관련 항목:
Character.digit(char, int)

BigInteger

public BigInteger(String  val)
BigInteger 의 10 진 String 표현을 BigInteger 로 변환합니다. String 표현은, 임의의 마이너스 부호와 거기에 계속되는 1 개(살) 이상의 10 진수자의 열로 구성됩니다. 문자형으로부터 수치형에의 매핑은 Character.digit 로 제공되고 있습니다. String 에는, 올바르지 않은 문자 (공백등)를 포함할 수 없습니다.

파라미터:
val - BigInteger 의 10 진수의 String 표현
예외:
NumberFormatException - val 는 BigInteger 의 표현으로서는 무효인
관련 항목:
Character.digit(char, int)

BigInteger

public BigInteger(int numBits,
                  Random  rnd)
0 ~ (2numBits - 1) 의 범위에 한결같게 분산되고 있는, 랜덤에 생성된 BigInteger 를 구축합니다. 분산의 한결같음은,rnd 의 랜덤 비트의 소스에 잘못이 없는 것을 전제로 합니다. 이 생성자 은, 항상 부가 아닌 BigInteger 를 구축합니다.

파라미터:
numBits - 새로운 BigInteger 의 최대 비트수
rnd - 새로운 BigInteger 의 계산으로 사용되는 랜덤 비트의 소스
예외:
IllegalArgumentException - numBits 가 부의 경우
관련 항목:
bitLength

BigInteger

public BigInteger(int bitLength,
                  int certainty,
                  Random  rnd)
랜덤에 생성된 (아마 소수이다) 정의 BigInteger 를, 지정한 비트수로 구축합니다.

확률을 지정할 필요가 없는 경우는, 이 생성자 은 아니고 probablePrime 메소드를 사용하는 것을 추천합니다.

파라미터:
bitLength - 반환되는 BigInteger 의 bit length
certainty - 호출측이 허용 하지 않는다 확률의 척도. 새로운 BigInteger 가 소수인 확률은, (1 - 1/2certainty)보다 크다. 이 instructor의 실행 시간은 이 파라미터의 값 에 비례하는
rnd - 소수도를 테스트하는 후보의 선택으로 사용되는 랜덤 비트의 소스
예외:
ArithmeticException - bitLength < 2
관련 항목:
bitLength
메소드의 상세

probablePrime

public static BigInteger  probablePrime(int bitLength,
                                       Random  rnd)
지정된 bit length로 정의 BigInteger (아마 소수)를 돌려줍니다. 이 메소드로부터 반환되는 BigInteger 가 합성수인 확률은 2-100 를 넘지 않습니다.

파라미터:
bitLength - 반환되는 BigInteger 의 bit length
rnd - 소수도를 테스트하는 후보의 선택으로 사용되는 랜덤 비트의 소스
반환값:
bitLength의 BigInteger. 아마 소수
예외:
ArithmeticException - bitLength < 2
도입된 버젼:
1.4
관련 항목:
bitLength

nextProbablePrime

public BigInteger  nextProbablePrime()
BigInteger 보다 큰 최초의 정수 (아마 소수)를 돌려줍니다. 이 메소드가 돌려주는 수가 합성수인 확률은 2-100 를 넘지 않습니다. 이 메소드는 검색시에 소수를 스킵 하지 않습니다. p 를 돌려주는 경우,this < q < p 가 성립되는 것 같은 소수 q 는 없습니다.

반환값:
BigInteger 보다 큰 최초의 정수. 아마 소수
예외:
ArithmeticException - this < 0
도입된 버젼:
1.5

valueOf

public static BigInteger  valueOf(long val)
값이 지정된 long 의 값과 동일한 BigInteger 를 돌려줍니다. 이 「static 팩토리 메소드」는, 자주(잘) 사용되는 BigInteger 를 재사용할 수 있도록(듯이) 하기 위해서, (long) 생성자 대신에 제공됩니다.

파라미터:
val - 반환되는 BigInteger 의 값
반환값:
지정치를 사용한 BigInteger

add

public BigInteger  add(BigInteger  val)
값이 (this + val) 인 BigInteger 를 돌려줍니다.

파라미터:
val - 이 BigInteger 에 가산하는 값
반환값:
this + val

subtract

public BigInteger  subtract(BigInteger  val)
값이 (this - val) 인 BigInteger 를 돌려줍니다.

파라미터:
val - 이 BigInteger 로부터 감산하는 값
반환값:
this - val

multiply

public BigInteger  multiply(BigInteger  val)
값이 (this * val) 인 BigInteger 를 돌려줍니다.

파라미터:
val - 이 BigInteger 로 곱셈하는 값
반환값:
this * val

divide

public BigInteger  divide(BigInteger  val)
값이 (this / val) 인 BigInteger 를 돌려줍니다.

파라미터:
val - 이 BigInteger 를 제산하는 값
반환값:
this / val
예외:
ArithmeticException - val==0

divideAndRemainder

public BigInteger [] divideAndRemainder(BigInteger  val)
(this / val) 그리고 (this % val) 계속되는, 2 개의 BigInteger 의 배열을 돌려줍니다.

파라미터:
val - 이 BigInteger 를 제산하는 값, 및 계산된 잉여
반환값:
2 개의 BigInteger 의 배열. 상 (this / val) 은 최초의 요소로, 잉여 (this % val) 는 마지막 요소
예외:
ArithmeticException - val==0

remainder

public BigInteger  remainder(BigInteger  val)
값이 (this % val) 인 BigInteger 를 돌려줍니다.

파라미터:
val - 이 BigInteger 를 제산하는 값, 및 계산된 잉여
반환값:
this % val
예외:
ArithmeticException - val==0

pow

public BigInteger  pow(int exponent)
값이 (thisexponent) 의 BigInteger 를 돌려줍니다. exponent 는 BigInteger 는 아니고 정수입니다.

파라미터:
exponent - 이 BigInteger 를 누승하는 지수
반환값:
thisexponent
예외:
ArithmeticException - exponent 가 부의 경우. (비정수치를 생성하는 연산이 생긴다. )

gcd

public BigInteger  gcd(BigInteger  val)
값이 abs(this)abs(val) 의 최대공약수인 BigInteger 를 돌려줍니다. this == 0 && val == 0 의 경우는 0 을 돌려줍니다.

파라미터:
val - GCD 의 계산에 사용하는 값
반환값:
GCD(abs(this), abs(val))

abs

public BigInteger  abs()
값이 이 BigInteger 의 절대치인 BigInteger 를 돌려줍니다.

반환값:
abs(this)

negate

public BigInteger  negate()
값이 (-this) 의 BigInteger 를 돌려줍니다.

반환값:
-this

signum

public int signum()
이 BigInteger 의 부호 요소를 돌려줍니다.

반환값:
이 BigInteger 가 부의 경우는 -1, 제로의 경우는 0, 정의 경우는 1

mod

public BigInteger  mod(BigInteger  m)
값이 (this mod m)의 BigInteger 를 돌려줍니다. 이 메소드는, 항상 「부가 아니다」 BigInteger 를 돌려주는 remainder 와는 다릅니다.

파라미터:
m - 계수(modulus)
반환값:
this mod m
예외:
ArithmeticException - m <= 0
관련 항목:
remainder(java.math.BigInteger)

modPow

public BigInteger  modPow(BigInteger  exponent,
                         BigInteger  m)
값이 (thisexponent mod m) 의 BigInteger 를 돌려줍니다 (pow 와 달리, 이 메소드는 부의 지수를 허용 한다).

파라미터:
exponent - 지수
m - 계수(modulus)
반환값:
thisexponent mod m
예외:
ArithmeticException - m <= 0
관련 항목:
modInverse(java.math.BigInteger)

modInverse

public BigInteger  modInverse(BigInteger  m)
값이 (this-1 mod m) 의 BigInteger 를 돌려줍니다.

파라미터:
m - 계수(modulus)
반환값:
this-1 mod m
예외:
ArithmeticException - m <= 0 이든가, 혹은 이 BigInteger 가 mod m 의 곱셈 역수를 가지지 않는 경우 (즉, 이 BigInteger 가 m 의 「소수」가 아닌 경우)

shiftLeft

public BigInteger  shiftLeft(int n)
값이 (this << n) 의 BigInteger 를 돌려줍니다. 쉬프트 이동량 n 가 부의 경우는, 이 메소드는 오른쪽 쉬프트를 실행합니다 (floor(this * 2n) 를 계산한다).

파라미터:
n - 비트 단위에서의 쉬프트 이동량
반환값:
this << n
관련 항목:
shiftRight(int)

shiftRight

public BigInteger  shiftRight(int n)
값이 (this >> n) 의 BigInteger 를 돌려줍니다. 부호 확장을 합니다. 쉬프트 이동량 n 가 부의 경우는, 이 메소드는 왼쪽 쉬프트를 실행합니다 (floor(this / 2n) 를 계산한다).

파라미터:
n - 비트 단위에서의 쉬프트 이동량
반환값:
this >> n
관련 항목:
shiftLeft(int)

and

public BigInteger  and(BigInteger  val)
값이 (this & val) 의 BigInteger 를 돌려줍니다 (이 메소드는, this 와 val 의 양쪽 모두가 부의 경우는 부의 BigInteger 를 돌려준다).

파라미터:
val - 이 BigInteger 와의 논리츠무를 잡는 값
반환값:
this & val

or

public BigInteger  or(BigInteger  val)
값이 (this | val) 의 BigInteger 를 돌려줍니다 (이 메소드는, this 또는 val 가 부의 경우는 부의 BigInteger 를 돌려준다).

파라미터:
val - 이 BigInteger 와의 논리합을 취하는 값
반환값:
this | val

xor

public BigInteger  xor(BigInteger  val)
값이 (this ^ val) 의 BigInteger 를 돌려줍니다 (이 메소드는, this 와 val 의 다른 한쪽만이 부의 경우에 부의 BigInteger 를 돌려준다).

파라미터:
val - 이 BigInteger 와의 배타적 논리합을 취하는 값
반환값:
this ^ val

not

public BigInteger  not()
값이 (~this) 의 BigInteger 를 돌려줍니다 (이 메소드는, 이 BigInteger 가 부가 아닌 경우에 0 보다 작은 값을 돌려준다).

반환값:
~this

andNot

public BigInteger  andNot(BigInteger  val)
값이 (this & ~val) 인 BigInteger 를 돌려줍니다. and(val.not()) 와 동등의 이 메소드는, 마스킹 연산의 편의를 꾀하기 위해서(때문에) 제공되고 있습니다 (이 메소드는,this 가 부로 val 가 정의 경우에 부의 BigInteger 수치를 돌려준다).

파라미터:
val - 이 BigInteger 로 보수가 취해져 논리적이 취해지는 값
반환값:
this & ~val

testBit

public boolean testBit(int n)
지정된 비트가 설정되어 있는 경우에만 true 를 돌려줍니다 ((this & (1<<n)) ! = 0) 을 계산한다).

파라미터:
n - 테스트하는 비트의 인덱스
반환값:
지정된 비트가 설정되어 있는 경우에만 true
예외:
ArithmeticException - n 가 부의 경우

setBit

public BigInteger  setBit(int n)
값이 이 BigInteger 에 동일한 BigInteger 를, 지정된 비트를 설정해 돌려줍니다 ((this | (1<<n)) 를 계산한다).

파라미터:
n - 설정하는 비트의 인덱스
반환값:
this | (1<<n)
예외:
ArithmeticException - n 가 부의 경우

clearBit

public BigInteger  clearBit(int n)
값이 이 BigInteger 에 동일한 BigInteger 를, 지정된 비트를 클리어 해 돌려줍니다 ((this & ~(1<<n)) 를 계산한다).

파라미터:
n - 클리어 하는 비트의 인덱스
반환값:
this & ~(1<<n)
예외:
ArithmeticException - n 가 부의 경우

flipBit

public BigInteger  flipBit(int n)
값이 이 BigInteger 에 동일한 BigInteger 를, 지정된 비트를 반전시켜 돌려줍니다 ((this ^ (1<<n)) 를 계산한다).

파라미터:
n - 반전하는 비트의 인덱스
반환값:
this ^ (1<<n)
예외:
ArithmeticException - n 가 부의 경우

getLowestSetBit

public int getLowestSetBit()
이 BigInteger 의 가장 우측 (1 번 낮은 위)의 1 비트의 인덱스 (가장 우측의 1 비트의 우측향의 0 비트의 수)를 돌려줍니다. 이 BigInteger 에 1 비트가 1 개도 포함되지 않는 경우는 -1 을 돌려줍니다 ((this==0? -1 : log2(this & -this)) 를 계산한다).

반환값:
이 BigInteger 의 가장 우측의 1 비트의 인덱스

bitLength

public int bitLength()
이 BigInteger 의 최소의 2 의 보수 표현내의 비트수를 돌려줍니다. 다만, 부호 비트를 제외합니다. 정의 BigInteger 에 대해서는, 일반적으로의 2 진표현에 있어서의 비트의 수에 동일해집니다 ((ceil(log2(this < 0 ? -this :this+1))) 를 계산한다).

반환값:
이 BigInteger 의 최소의 2 의 보수 표현내의 비트의 수. 다만 부호 비트는 제외하다

bitCount

public int bitCount()
이 BigInteger 의 2 의 보수 표현내의, 부호 비트와 다른 비트의 수를 돌려줍니다. 이 메소드는 BigInteger 상에 비트 벡터 형식의 설정을 구현하는 경우에 편리합니다.

반환값:
이 BigInteger 의 최소의 2 의 보수 표현내의, 부호 비트와 다른 비트의 수

isProbablePrime

public boolean isProbablePrime(int certainty)
이 BigInteger 가 소수일 가능성이 높은 경우는 true, 반드시 합성수인 경우는 false 를 돌려줍니다. certainty 가 0 이하인 경우,true 를 돌려줍니다.

파라미터:
certainty - 호출측이 허용 하지 않는다 확률의 척도. 이 BigInteger 가 소수인 확률이 (1 - 1/2certainty) (을)를 넘는 경우는 true 를 돌려준다. 이 메소드의 실행 시간은 이 파라미터의 값 에 비례한다
반환값:
이 BigInteger 가 소수일 가능성이 높은 경우는 true, 반드시 합성수인 경우는 false

compareTo

public int compareTo(BigInteger  val)
이 BigInteger 가 지정된 BigInteger 와 비교합니다. 이 메소드는, 6 개의 boolean 형의 비교 연산자 (<,==, >, >=,! =, <=)의 각각 대하는 개개의 메소드 대신에 제공됩니다. 이러한 비교를 실시하려면 (x.compareTo(y) <op> 0) 라고 하는 편성을 추천합니다. 이 경우, <op> 에는 6 개의 연산자 가운데 1 개가 들어갑니다.

정의:
인터페이스 Comparable <BigInteger > 내의 compareTo
파라미터:
val - 이 BigInteger 와 비교하는 BigInteger
반환값:
이 BigInteger 의 값이 val 보다 작은 경우는 -1, 동일한 경우는 0, 큰 경우는 1

equals

public boolean equals(Object  x)
이 BigInteger 와 지정된 Object 가 동일한지 어떤지를 비교합니다.

오버라이드(override):
클래스 Object 내의 equals
파라미터:
x - 이 BigInteger 와 비교하는 Object
반환값:
지정된 Object 가, 이 BigInteger 와 값이 동일한 BigInteger 인 경우에만 true
관련 항목:
Object.hashCode() , Hashtable

min

public BigInteger  min(BigInteger  val)
이 BigInteger 와 val 의 최소치를 돌려줍니다.

파라미터:
val - 최소치의 계산에 사용하는 값
반환값:
이 BigInteger 와 val 가운데로 작은 (분)편의 값을 가지는 BigInteger. 값이 동일한 경우는 어느 쪽인지가 반환된다

max

public BigInteger  max(BigInteger  val)
이 BigInteger 와 val 의 최대치를 돌려줍니다.

파라미터:
val - 최대치의 계산에 사용하는 값
반환값:
이 BigInteger 와 val 가운데로 큰 (분)편의 값을 가진다 BigInteger. 값이 동일한 경우는 어느 쪽인지가 반환된다

hashCode

public int hashCode()
이 BigInteger 의 해시 코드를 돌려줍니다.

오버라이드(override):
클래스 Object 내의 hashCode
반환값:
이 BigInteger 의 해시 코드
관련 항목:
Object.equals(java.lang.Object) , Hashtable

toString

public String  toString(int radix)
지정된 기수내의 이 BigInteger 의 String 표현을 돌려줍니다. 기수가 Character.MIN_RADIX ~ Character.MAX_RADIX 의 범위외의 경우는, 디폴트를 10 으로 설정합니다 (Integer.toString 의 경우와 같다). Character.forDigit 에 의한 숫자로부터 문자에의 매핑이 사용되어 필요에 따라서 마이너스 부호를 전에 붙일 수 있는 (이 표현은 (String, int) 생성자 과 호환성이 있다).

파라미터:
radix - String 표현의 기수
반환값:
지정된 기수내의 이 BigInteger 의 String 표현
관련 항목:
Integer.toString(int, int) , Character.forDigit(int, int) , BigInteger(java.lang.String, int)

toString

public String  toString()
이 BigInteger 의 10 진 String 표현을 돌려줍니다. Character.forDigit 에 의한 숫자로부터 문자에의 매핑이 사용되어 필요에 따라서 마이너스 부호를 전에 붙일 수 있는 (이 표현은 (String) 생성자 과 호환성이 있어, Java 의 + 연산자와의 연결을 가능하게 한다).

오버라이드(override):
클래스 Object 내의 toString
반환값:
이 BigInteger 의 10 진수의 String 표현
관련 항목:
Character.forDigit(int, int) , BigInteger(java.lang.String)

toByteArray

public byte[] toByteArray()
이 BigInteger 의 2 의 보수 표현을 포함한 바이트 배열을 돌려줍니다. 바이트 배열은 「빅 endian」의 바이트 순서입니다 (최상정도의 바이트는 [0] 번째의 요소). 배열에는, 최저 1 개의 부호 비트를 포함한 이 BigInteger 의 표현에 필요한 최소의 바이트수 ((ceil((this.bitLength() + 1)/8)))가 포함됩니다 (이 표현은 (byte[]) 생성자 과 호환성이 있다).

반환값:
이 BigInteger 의 2 의 보수 표현을 포함한 바이트 배열
관련 항목:
BigInteger(byte[])

intValue

public int intValue()
이 BigInteger 를 int 로 변환합니다. 이 변환은,「Java 언어 스펙」으로 정의된 long 로부터 int 에의 「네로우 프리미티브(primitive) 변환」이라고 같습니다. 이 BigInteger 가 너무 길어 int 내에 들어가지 않는 경우, 하위 32 비트만이 돌려주어집니다. 이 변환에 의해, 이 BigInteger 치의 절대치 전체에 관한 정보가 없어져 역의 부호로 돌려주어질 가능성이 있습니다.

정의:
클래스 Number 내의 intValue
반환값:
int 에 변환된 이 BigInteger

longValue

public long longValue()
이 BigInteger 를 long 로 변환합니다. 이 변환은,「Java 언어 스펙」으로 정의된 long 로부터 int 에의 「네로우 프리미티브(primitive) 변환」이라고 같습니다. 이 BigInteger 가 너무 길어 long 내에 들어가지 않는 경우, 하위 64 비트만이 돌려주어집니다. 이 변환에 의해, 이 BigInteger 치의 절대치 전체에 관한 정보가 없어져 역의 부호로 돌려주어질 가능성이 있습니다.

정의:
클래스 Number 내의 longValue
반환값:
long 에 변환된 이 BigInteger

floatValue

public float floatValue()
이 BigInteger 를 float 로 변환합니다. 이 변환은,「Java 언어 스펙」으로 정의된 double 로부터 float 에의 「네로우 프리미티브(primitive) 변환」이라고 같습니다. 이 BigInteger 가 너무 커 float 로서 표현할 수 없는 경우, 적당 Float.NEGATIVE_INFINITY 또는 Float.POSITIVE_INFINITY 에 변환됩니다. 반환값이 유한한 경우도, 이 변환에 의해, BigInteger 치의 정밀도에 관한 정보가 없어질 가능성이 있습니다.

정의:
클래스 Number 내의 floatValue
반환값:
float 에 변환된 이 BigInteger

doubleValue

public double doubleValue()
이 BigInteger 를 double 로 변환합니다. 이 변환은,「Java 언어 스펙」으로 정의된 double 로부터 float 에의 「네로우 프리미티브(primitive) 변환」이라고 같습니다. 이 BigInteger 가 너무 커 double 로서 표현할 수 없는 경우, 적당 Double.NEGATIVE_INFINITY 또는 Double.POSITIVE_INFINITY 에 변환됩니다. 반환값이 유한한 경우도, 이 변환에 의해, BigInteger 치의 정밀도에 관한 정보가 없어질 가능성이 있습니다.

정의:
클래스 Number 내의 doubleValue
반환값:
double 에 변환된 이 BigInteger

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.