Java Math BigInteger

해질녘·2025년 3월 22일
0

Java

목록 보기
2/2

참고: https://docs.oracle.com/javase/8/docs/api/index.html

BigDecimal 은 일하면서 계속 봤는데 BigIntger는 처음봐서 메모

BigDecimal = 소수점 표현
BigInteger = 정수 표현
둘다 표현 가능한 범위 제한 X

쓰기가 좀 귀찮다, 함수에 자료형 잘 보고 맞춰줄 것

활용

표현

// int to BigInteger
int p = 1;
BigInteger pp = BigInteger.valueOf(p);

// String to BigInteger
String p = "1";
BigInteger pp = new BigInteger(p);

BigInteger x = BigInteger.ZERO;
BigInteger y = BigInteger.ONE;

연산

// 곱셈 : public BigInteger multiply(BigInteger val)
pp = pp.multiply(Biginteger.value(p));

// 거듭제곱 pow : public BigInteger pow(int exponent)
// 인자가 int형이라는 데에 주의
pp = pp.pow(p);

// modPow : public BigInteger modPow(BigInteger exponent, BigInteger m)
pp = pp.modPow(BigInteger.valueOf(n), BigInteger.valueOf(x));
// returns (pp ^ n) % x

이외에 공식문서 보면 gcd modInverse 등 다양한 결과에 대한 함수가 있다

큰 수 연산의 경우 시간 차이가 많이 나기 때문에 라이브러리에 뭐가 있는지 이김에 알아둠

0개의 댓글