Decimal 자료형
Programming/Python 2012. 11. 26. 13:53 |컴퓨터의 부동 소수점(Floating Point)에 의한 실수 표현은 어쩔 수 없이 오차를 동반한다.
계산 시간에 관계없이 정확한 결과 값을 얻기를 원하면 Decimal 모듈을 사용할 수 있다.(Import decimal)
Decimal 모듈은 두 개의 클래스 Decimal, Context를 제공한다.
Decimal 클래스 = 숫자를 표현.
Context 클래스 = 정확도나 반올림 방법 등과 같은 환경 설정.
Decimal을 하지않고 그냥 했을 경우, 원래라면 1이 나와야하는데 1의 근삿값이 나왔다.
Decimal을 이용해여 계산을 했을 때 정확한 값이 나왔다.
오차 없이 어떤 계산 결과를 얻어야 한다면 Decimal 클래스의 활용을 생각해 볼 수 있다. 하지만, 남용하면 안된다. 계산 시간이 많이 걸린다.
Decimal 인스턴스끼리는 일반 수치와 같이 연산이 가능하다.
Decimal 인스턴스 객체를 생성하는 또 다른 방법은 튜플을 이용해서 부호, 지수부, 가수부를 별도로 지정하는 것이다.
첫 숫자 1은 부호(0=양수, 1=음수)를 나ㅏ내고, (1,5,4,3)은 가수부, -2는 소수점의 위치를 나타낸다.
그리고 decimal 모듈의 Context는 Decimal 연산에 대한 설정 값을 가지는 객체로 계산 정확도와 반올림 정책 등을 설정할 수 있다.
method를 지원하는 연산도 있다.
'Programming > Python' 카테고리의 다른 글
논리 연산자 (0) | 2012.11.26 |
---|---|
관계 연산자(<,>,<=,>=,==,!=) (0) | 2012.11.26 |
python의 Backticks ( repr() ) (0) | 2012.11.26 |
함수 (0) | 2012.11.26 |
예약어 pass (0) | 2012.11.26 |