안녕하세요 호호만두에요
이번에는 자바에서 큰 정수를 입력받을 수 있는 BIgInteger에 대해서 알아볼게요
BigInteger가 필요한 경우
알고리즘 문제를 풀다 보면 가끔씩 큰 수를 이용해야 할 경우가 있어요
왜냐하면 int형의 최대 범위는 21억 정도
그래서 long형을 사용하면 920경 정도...
보통 long형으로도 충분하지만
그 보다 더 큰 수를 필요로 할 경우가 있어요. 예를 들어 피보나치 수나 팩토리얄을 구할 경우!!
그럴 때 자바에서 편하게 구할 수 있게 해주는게 BigInteger class 입니다
이는 java.math.BigInteger 를 import하여 사용할 수 있어요
BigInteger 선언과 연산
BigInteger 선언
import java.math.BigInteger;
BigInteger big = new BigInteger("123456789012345678901234567890");
BigInteger big2 = new BigInteger("12345");
BIgInteger 덧셈
import java.math.BigInteger;
BigInteger big3 = big.add(big2);
BigInteger 뺄셈
import java.math.BigInteger;
BigInteger big4 = big.subtract(big2);
BigInteger 곱셈
import java.math.BigInteger;
BigInteger big5 = big.multiply(big2);
BigInteger big5 = big.multiply(BigInteger.valueOf(2)); // int형을 넣으면 안됨
BigInteger 나눗셈
import java.math.BigInteger;
BigInteger big6 = big.divide(big2);
BigInteger 상수
import java.math.BigInteger;
BigInteger zero = BigInteger.Zero; // BigInteger type 0
BigInteger one = BigInteger.One; // BigInteger type 1
BigInteger type 변환
import java.math.BigInteger;
BigInteger trans = BigInteger.valueOf(9000000000);
이렇게 자바 BIgInteger 사용법에 대해서 알아보았어요
BigInteger 의 덧셈, 뺄셈, 곱셈, 나눗셈까지!!!
덧셈 가끔 어떻게 헷갈려서 찾아보고 했는데 이제 이렇게 정리했던 안까먹을 것 같아요!!
BigInteger 예시 코드
10000번째 피보나치 수 구하기