sm 기술 블로그

[Java] BigInteger 본문

Java

[Java] BigInteger

sm_hope 2022. 6. 26. 21:13

BigInteger란?

int나 double은 크기 제한이 있기 때문에 매우매우 큰 수는 표현이 불가능하다.
그에 반해 BigInteger는 문자열 형태로 이루어져있기 때문에 숫자 범위를 무한하게 표현이 가능하다.

선언

// 16진법
BigInteger bigIntWithRadix = new BigInteger("64", 16);

// 정수로 생성
BigInteger bigIntWithValue = BigInteger.valueOf(100);

// 문자열
BigInteger bigIntWithString = new BigInteger("100");

연산

		BigInteger one = new BigInteger("180");
		BigInteger two = new BigInteger("60");
        
		System.out.println("덧셈(+) :" +one.add(two));
		System.out.println("뺄셈(-) :" +one.subtract(two));
		System.out.println("곱셈(*) :" +one.multiply(two));
		System.out.println("나눗셈(/) :" +one.divide(two));
		System.out.println("나머지(%) :" +one.remainder(two));
		System.out.println("최대공약수(gcd) :" +one.gcd(two));

정리하면 BigInteger 2개 A, B를 다음과 같이 쓸 수 있다.

  • 덧셈 : A.add(B)
  • 뺄셈 : A.subtract(B)
  • 곱셈 : A.multiply(B)
  • 나눗셈 : A.divide(B)
  • 나머지 : A.remainder(B)
  • 최대공약수(gcd) : A.gcd(B)

형변환

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

두 수 비교

//두 수 비교 compareTo 맞으면 0   틀리면 -1
int compare = bigNumber1.compareTo(bigNumber2);
System.out.println(compare);

'Java' 카테고리의 다른 글

[자바]List join하기  (0) 2022.08.13
ArrayList 에서 최대값, 최소값 구하기  (0) 2022.06.21
집합자료형  (0) 2022.06.21
정규식  (0) 2022.06.09
TDD  (0) 2022.06.08
Comments