BigInteger
BigInteger (임의 정밀도 정수)
불변(immutable)하며 임의 정밀도(arbitrary-precision)를 갖는 정수를 다루는 클래스입니다. 모든 연산은 BigInteger가 2의 보수(two's-complement) 표기로 표현된 것처럼 동작합니다.
본문
BigInteger는 Java의 기본 정수 타입 연산자 모두와 java.lang.Math의 관련 메서드에 대응하는 기능을 제공합니다. 또한 모듈러 산술, GCD 계산, 소수 판정, 소수 생성, 비트 조작 등의 연산을 제공합니다.
산술 연산의 의미는 Java 언어 명세에 정의된 정수 연산자와 정확히 일치합니다. 예를 들어 0으로 나누면 ArithmeticException이 던져지고, 음수를 양수로 나누면 음수(또는 0)의 나머지가 나옵니다.
기본 정수 타입의 범위를 넘어서는 큰 정수를 다룰 때 사용되며, 암호화 등에서 중요하게 활용됩니다.
주요 생성자로 new BigInteger(String)과 new BigInteger(int bitLength, int certainty, Random rnd) 등이 있습니다.
산술 연산 add, subtract, multiply, divide, remainder와 비트 연산 and, or, xor, shiftLeft, shiftRight를 제공합니다.
modPow, modInverse, gcd, isProbablePrime 등 암호화에 필요한 연산을 제공합니다.