반응형
목차
BigInteger를 사용해야 하는 이유
가끔 알고리즘 문제들을 풀다 보면 큰 수를 처리해야 될 때가 있다. 여기서 큰 수란 int형의 범위를 넘어가고 심지어 long 형의 범위를 넘어갈 때이다. int형의 범위나 long형의 범위를 넘어서게 되면 모두 0으로 출력이 된다. 따라서 큰 수를 처리해야 할 때는 BigInteger를 사용해야 한다.
BigInteger 사용법
BigInteger 선언
BigInteger number = new BigInteger("500000"); //선언할 때는 문자열
BigInteger를 선언할 때 보통 문자열을 인자 값으로 넘겨서 선언한다.
BigInteger 계산
BigInteger number1 = new BigInteger("10000");
BigInteger number2 = new BigInteger("5000");
//덧셈 (+)
number1.add(number2)); //15000
//뺄셈 (-)
number1.subtract(number2)); //5000
//곱셈 (*)
number1.multiply(number2)); //50000000
//나눗셈 (/)
number1.divide(number2)); //2
//나머지 (%)
number1.remainder(number2)); //0
BigInteger형 변환
BigInteger number = BigInteger.valueOf(100000); //int -> BigIntger
int int_num = bigNumber.intValue(); //BigIntger -> int
long long_num = bigNumber.longValue(); //BigIntger -> long
float float_num = bigNumber.floatValue(); //BigIntger -> float
double double_num = bigNumber.doubleValue(); //BigIntger -> double
String String_num = bigNumber.toString(); //BigIntger -> String
반응형
'알고리즘' 카테고리의 다른 글
[알고리즘] 플로이드 와샬 (Floyd Warshall) (1) | 2022.05.21 |
---|---|
[알고리즘] 배낭 문제 (Knapsack Problem) (0) | 2022.04.07 |
[알고리즘] LIS (최장 증가 부분 수열) (1) | 2022.03.31 |
[알고리즘] LCS (최장 공통 부분 수열) (0) | 2022.01.30 |
[알고리즘] 다이나믹 프로그래밍 (Dynamic Programming) (2) | 2022.01.23 |
댓글