글 작성자: 취업중인 피터팬
728x90
기본 환경
JDK : 1.8.0_261 버전
JRE : 1.8.0_261 버전
JAVA VERSION : 8 업데이트 261
Eclipse IDE VERSION : 2020-06버전

 

목표

 

BigInteger를 사용해보고 관련 메서드를 이해한다.


 

코드
package One;

import java.util.*;
import java.math.*;

public class Number1712 {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		
		BigInteger bigNum1 = sc.nextBigInteger();
		BigInteger bigNum2 = sc.nextBigInteger();
		
		System.out.println("bigNum1 + bigNum2 = " + bigNum1.add(bigNum2));
		System.out.println("bigNum1 - bigNum2 = " + bigNum1.subtract(bigNum2));
		System.out.println("bigNum1 * bigNum2 = " + bigNum1.multiply(bigNum2));
		System.out.println("bigNum1 / bigNum2 = " + bigNum1.divide(bigNum2));
		System.out.println("bigNum1 % bigNum2 = " + bigNum1.remainder(bigNum2));
		
	}
}

BigInteger은 큰 정수를 사용할 때 사용합니다. 저희 같은 개발자는 가장 큰 정수라고 하면 감을 못잡습니다. 그래서 정확하게 표현하자만

Integer형은  -2,147,483,648 ~ 2,147,483,647 까지 사용할 수 있고

long형은  -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 까지 사용할 수 있습니다.

long형 보다 더 큰 숫자를 사용해야할 때 BigInteger을 사용하면 됩니다.

 

먼저 BigInteger을 사용하기 위해서는 라브이러리를 임포트 해야합니다.

import java.math.*;

다음과 같이 math를 라이브러리를 사용하면 됩니다.

그리고 BigInteger을 변수에 생성하면 됩니다.

BigInteger bigNum1 = sc.nextBigInteger();
BigInteger bigNum2 = sc.nextBigInteger();

위에 처럼 nextBigInteger로 입력 받을 수 있습니다.

 

BigInteger은 사칙 연산이 따로 있습니다.

클래스인 만큼 메소드를 사용하여 연산을 하게 됩니다.

System.out.println("bigNum1 + bigNum2 = " + bigNum1.add(bigNum2)); //더하기 
System.out.println("bigNum1 - bigNum2 = " + bigNum1.subtract(bigNum2));//빼기 
System.out.println("bigNum1 * bigNum2 = " + bigNum1.multiply(bigNum2));//곱하기 
System.out.println("bigNum1 / bigNum2 = " + bigNum1.divide(bigNum2));//나누기 
System.out.println("bigNum1 % bigNum2 = " + bigNum1.remainder(bigNum2));//나머지

결과는 밑에서 보도록 하겠습니다.

 

출력