sm 기술 블로그
[Java] BigInteger 본문
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