매우 큰 정수 표현 위한 java.math.BigInteger 클래스 - immutable 인스턴스임!!
public static void main(String[] args) {
// long형으로 표현 가능한 값의 크기 출력
System.out.println( "최대 정수 : " + Long.MAX_VALUE );
System.out.println( "최소 정수 : " + Long.MIN_VALUE );
System.out.println();
// 매우 큰 수를 BigInteger 인스턴스로 표현 - "" 따옴표 무조건 해줘야함!!!(숫자 표현 불가하기 떄문)
BigInteger big1 = new BigInteger("100000000000000000000000000");
BigInteger big2 = new BigInteger("-99999999999999999999999999");
// BigInteger 기반 덧셈 연산
BigInteger r1 = big1.add(big2);
System.out.println( "덧셈 결과 : " + r1 );
// BigInteger 기반 곱셈 연산
BigInteger r2 = big1.multiply(big2);
System.out.println( "곱셈 결과 : " + r2 );
System.out.println();
// 인스턴스에 저장된 값을 int형 정수로 반환
int num = r1.intValueExact();
System.out.println( "From BigInteger : " + num );
}
오차 없는 실수 표현 위한 BigDecimal 클래스 - immutable 인스턴스임!!
public static void main(String[] args) {
"" 따옴표를 해줘야지 BigDecimal 형태로 저장하게 되어 오차가 생기지 않는다.
따옴표 하지 않으면 double로 저장하게 되는데 그 즉시 오차가 발생할 수 있다.
BigDecimal d1 = new BigDecimal ("1.6");
BigDecimal d2 = new BigDecimal ("0.1");
System.out.println( "덧셈 결과 : " + d1.add(d2) );
System.out.println( "곱셈 결과 : " + d1.multiply(d2) );
}
덧셈 public BigDecimal add (BigDecimal augend)
뺄셈 public BigDecimal subtract (BigDecimal subtrahend)
곱셈 public BigDecimal multiply (BigDecimal multiplicand)
나눗셈 public BigDecimal divide (BigDecimal divisor)
'# 02 > Java' 카테고리의 다른 글
[윤성우 열혈자바] 20-4. Arrays 클래스 (0) | 2019.10.23 |
---|---|
[윤성우 열혈자바] 20-3. Math 클래스와 난수의 생성, 그리고 문자열 토큰의 구분 (0) | 2019.10.23 |
[윤성우 열혈자바] 20-1. 래퍼 클래스 (0) | 2019.10.23 |
[윤성우 열혈자바] 19-2. Object 클래스 (0) | 2019.10.23 |
[윤성우 열혈자바] 19-1. 자바 가상머신의 메모리 모델 (0) | 2019.10.23 |