Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- stringreader
- 단국대학교 k-mooc
- o_creat
- javascript
- o_excl
- 스레스
- html 태그
- StringBuilder
- 블록체인강의
- 자바
- 블록체인 강의
- 자바스크립트
- 컴파일시스템
- 자바문자열구분
- 혁신의기술2:신뢰의미래 블록체인을 만나다
- StringTokenizer
- K-MOOC
- 시스템프로그래밍
- 해시
- national instruments
- 자바입력받기
- 스레드 풀 웹 서버
- 자료구조
- 블록체인
- CSS 기초
- Node
- HTML
- html기초
- K-MOOC 단국대학교 홍보단
- biginteger사용법
Archives
- Today
- Total
열정 실천
[JAVA] Int, Double 범위를 벗어나면 BigInteger로 처리하자!!! 본문
백준 1247 [부호] 문제를 풀면서 범위를 벗어나는 정수를 어떻게 처리할지 많은 고민을 했다ㅠㅠ
저번에 친구가 BigInteger 라는 타입을 쓰길래 그런게 있어? 했던 기억이 떠올라 검색해봤고
이걸로 풀 수 있겠다! 생각하고 코드를 쓰기 시작했다.
BigInteger로 선언하고 int, double, float 같은 기본 타입이랑 동일한 방법으로 사용하면 될 줄 알았지만
아니었다....!! BigInteger 클래스형 객체를 생성해서 객체의 멤버함수를 사용해야 한다.
[BigInterger 형 선언하기]
BigInteger a = new BigInteger("100000000000000000");
BigInteger b = new BigInteger("1");
특징 : 생성자 매개변수로 String 값이 들어간다.
[BigInteger 형 연산]
연산 종류 | 기본 타입 | BigInteger |
덧셈 | a+b | a.add(b) |
뺄셈 | a-b | a.subtract(b) |
곱셈 | a*b | a.multiply(b) |
나눗셈 | a/b | a.divide(b)0 |
나머지 연산 | a%b | a.mod(b) |
음수 | -1*a | a.negate() |
[BigInteger 형 Math]
종류 | 기본 타입 | BigInteger |
절댓값 | Math.abs(a) | a.abs() |
최대공약수 | a.gcd(b) | |
a의 n승 | a.pow(n) | a.pow(int n) |
[BigInteger 형 비교]
종류 | 기본 타입 | BigInteger |
최소 | Math.min(a,b) | a.min(b) |
최대 | Math.max(a,b) | a.max(b) |
양수&음수 | a.signum | |
비교 | a<b | a.compareTo(b) -1리턴 |
a==b | a.compareTo(b) 0리턴 | |
a>b | a.compareTo(b) 1리턴 |
[BigInteger 형 변환]
기본타입 | BigInteger |
double | double c = a.doubleValue() |
float | float c = a.floatValue() |
int | int c = a.intValue() |
long | long c = a.longValue() |
String | String c = a.toString() |