BigInteger

박영준·2023년 6월 22일
0

Java

목록 보기
97/112

1. 정의

  • 계산하려는 값이 Int, Long의 범위보다도 클 경우에 사용

  • BigInteger은 문자열 형태로 이루어져 있어 숫자의 범위가 무한하기 때문에, 어떠한 숫자이든지 담을 수 있다

2. 사용법

1) 선언

BigInteger bigNumber = new BigInteger("10000");
  • BigInteger가 문자열로 되어 있기 때문에, BigInteger을 초기화하기 위해서는 문자열을 인자 값으로 넘겨주어야 한다.

2) 계산

BigInteger bigNumber1 = new BigInteger("100000");
BigInteger bigNumber2 = new BigInteger("10000");
		
// 덧셈(+)
System.out.println(bigNumber1.add(bigNumber2));

// 뺄셈(-)
System.out.println(bigNumber1.subtract(bigNumber2));

// 곱셈(*)
System.out.println(bigNumber1.multiply(bigNumber2));

// 나눗셈(/)
System.out.println(bigNumber1.divide(bigNumber2));

// 나머지(%)
System.out.println(bigNumber1.remainder(bigNumber2));
  • BigInteger은 문자열이기 때문에, 사칙연산이 불가능
    • 따라서, BigIntger 내부의 숫자를 계산하기 위해서는 BigIntger 클래스 내부에 있는 메서드를 사용해야 한다.

3) 형 변환

// int -> BigIntger
BigInteger bigNumber = BigInteger.valueOf(100000); 

// BigIntger -> int
int int_bigNum = bigNumber.intValue(); 

// BigIntger -> long
long long_bigNum = bigNumber.longValue(); 

// BigIntger -> float
float float_bigNum = bigNumber.floatValue(); 

// BigIntger -> double
double double_bigNum = bigNumber.doubleValue(); 

// BigIntger -> String
String String_bigNum = bigNumber.toString(); 

4) 두 수 비교

BigInteger bigNumber1 = new BigInteger("100000");
BigInteger bigNumber2 = new BigInteger("1000000");
		
//맞으면 0  틀리면 -1
int compare = bigNumber1.compareTo(bigNumber2);
System.out.println(compare);
  • compareTo() 메서드를 사용

연습문제

참고: 두 수의 합 Lv. 0


참고: [Java] 큰 숫자(정수) 다루기 BigInteger 사용법 & 예제 총정리

profile
개발자로 거듭나기!

0개의 댓글