■ 매우 큰 정수의 표현을 위한 BigInteger 클래스
: 보통은 int 정도의 기본 자료형으로 원하는 정수의 표현이 가능하다. 그러나 상황에 따라서는 정수 자료형 중에서 가장 표현 범위가 넓은 long형으로도 표현 불가능한 수를 표현해야 할 때도 있다. 다행히도 자바는 이러한 경우를 대비하여 BigInteger 클래스를 제공하고 있다.
import java.math.BigInteger;
public class SoBigInteger {
public static void main(String[] args) {
System.out.println("최대 정수 : " + Long.MAX_VALUE);
System.out.println("최소 정수 : " + Long.MIN_VALUE);
BigInteger bigValue1 = new BigInteger("1000000000000000000");
BigInteger bigValue2 = new BigInteger("-999999999999999999");
BigInteger addResult = bigValue1.add(bigValue2);
BigInteger mulResult = bigValue2.multiply(bigValue2);
System.out.println("큰 수의 덧셈결과 : " + addResult);
System.out.println("큰 수의 곱셈결과 : " + mulResult);
}
}
BigInteger 클래스로만 처리해야 하는 큰수의 저장을 위한 정수 자료형은 존재하지 않기 때문에 당연히 매개변수 선언이 불가능하다. 그래서 문자열을 통해서 값을 표현하는 것이다.
■ 오차 없는 실수의 표현을 위한 BigDecimal 클래스
import java.math.BigDecimal;
public class NoErrorBigDecimal {
public static void main(String[] args) {
BigDecimal e1 = new BigDecimal("1.6");
BigDecimal e2 = new BigDecimal("0.1");
System.out.println("두 실수의 덧셈 결과 :" + e1.add(e2));
System.out.println("두 실수의 곱셈 결과 : " + e1.multiply(e2));
}
}
오차 없는 실수의 표현 및 연산을 위해서는 문자열을 이용해서 값을 표현해야 한다.
[Java]Iterator를 이용한 인스턴스의 순차적 접근 (0) | 2012.09.16 |
---|---|
[Java] 문자열 토큰(Token)의 구분 (0) | 2012.09.15 |
[Java]Wrapper 클래스 (0) | 2012.09.15 |
[Java]인스턴스 복사 : clone 메소드 (0) | 2012.09.15 |
[Java]printStackTrace 활용 예 (0) | 2012.09.12 |
댓글 영역