Float, Double, Decimal

김기현·2022년 2월 9일
0
post-thumbnail

소수점 표현하는 타입인 float은 여러번 들어보았지만.. double, decimal은 ...?(넌 누구냐)

이번 블로그에서는 소수점을 표현하는 타입을 알아보겠습니다.

Float

float은 부동소수점 타입으로, 소수점의 위치가 데이터의 형태에 따라 바뀔 수 있다는 점이라는 유동적인 면을 가지고 있습니다.

float은 4byte의 값범위를 가지고 있으며 IEEE 754 부동소수점 모델을 따릅니다.

Double

double도 또한 부동소수점 타입으로, 소수점의 위치가 데이터의 형태에 따라 바뀔 수 있다는 점이라는 유동적인 면을 가지고 있습니다.

double은 8byte의 값범위를 가지고 있으며 IEEE 754 부동소수점 모델을 따릅니다. 주로 C#에서 사용합니다.

Decimal

decimal은 float, double과는 달리, 고정소수점 타입이고 16byte의 값범위를 가지지만 IEEE 754모델을 따르지 않습니다. 이는 IEEE 754 모델의 저장방식에 따른 계산 시 오차 발생이 거의 없어짐을 의미합니다.

예를 들어 부동소수점에 3.65를 저장하면 간혹 3.649999999으로 저장되는 경우가 있습니다. 이를 라운드오프라고 합니다.

decimal은 float이나 double에 비해 비교적 정확하게 값을 다루지만 계산속도가 상대적으로 느리다는 단점이 있습니다. 따라서 문제점이 전혀 없어야 하는 분야(금융분야, 이자율 계산 등)에서는 decimal을 사용합니다.

profile
피자, 코드, 커피를 사랑하는 피코커

0개의 댓글