상세 컨텐츠

본문 제목

[Java]BigInteger, BigDecimal 클래스

JAVA Language

by mobile 2012. 9. 15. 17:35

본문

반응형

■ 매우 큰 정수의 표현을 위한 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));

}

}


오차 없는 실수의 표현 및 연산을 위해서는 문자열을 이용해서 값을 표현해야 한다.


반응형

관련글 더보기

댓글 영역