본문 바로가기

JAVA

[Java] BigInteger(큰 정수)

타입 범위 메모리 크기
int -2,147,483,648 ~ 2,147,483,647 4byte
long -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 8byte

BigInteger은 문자열 형태로 이루어져 있어 어떠한 숫자든지 담을 수 있다.(길이 제한 없음)

import java.math.BigInteger;
BigInteger bigNumber = new BigInteger("10000");

인자값으로 문자열을 넘겨주어야 한다.

 

BigInteger 연산

문자열이기에 연산이 불가능하다. BigInteger 클래스 내부에 있는 메서드를 활용해야 한다.

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 형변환

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

int int_bigNum = bigNumber.intValue(); //BigIntger -> int
long long_bigNum = bigNumber.longValue(); //BigIntger -> long
float float_bigNum = bigNumber.floatValue(); //BigIntger -> float
double double_bigNum = bigNumber.doubleValue(); //BigIntger -> double
String String_bigNum = bigNumber.toString(); //BigIntger -> String

 

BigIntger 두 수 비교

BigInteger bigNumber1 = new BigInteger("100000");
BigInteger bigNumber2 = new BigInteger("1000000");
		
//두 수 비교 compareTo 같으면 0 다르면 -1
int compare = bigNumber1.compareTo(bigNumber2);
System.out.println(compare);

'JAVA' 카테고리의 다른 글

[Java] substring (문자열 자르기)  (2) 2023.01.21
[JAVA] HashMap 기본 및 정렬  (0) 2023.01.19
[JAVA] 객체지향(3)  (0) 2022.01.30
[JAVA] 객체지향 (2)  (0) 2022.01.24
[JAVA] 객체 지향 (1)  (0) 2022.01.23