이번 포스팅에서는 C#에서 실수를 표현할 때 사용하는 자료형들에 대해서 정리했습니다.
실수를 표현하는 float, double, decimal
c#에서 실수를 표현하는 자료형으로 float, double, decimal이 있습니다. 가장 큰 차이는 정밀도입니다. float은 유효 숫자가 7자리, double은 15 ~ 16자리, decimal은 28 ~ 29자리입니다. decimal이 훨씬 정밀한 숫자를 표현할 수 있으므로 금융 프로그램에 많이 쓰입니다.
정밀도는 저장공간과 계산속도에 영향을 줍니다. float은 4바이트, double은 8바이트인 반면 decimal은 16바이트나 차지합니다. 따라서 계산속도는 이들 중 제일 느립니다.
정밀도면에서는 decimal이 가장 크지만 표현할 수 있는 수의 범위는 float이나 double이 더 큽니다. 그래서 과학적인 계산에 더 적합합니다.
c#에서 실수의 default 자료형은 double입니다. float이나 decimal을 사용할 때는 숫자 뒤에 접미사 f, m을 붙여야 합니다. double을 명시하려면 숫자 뒤에 접미사 d를 붙입니다.
다음은 float, double, decimal의 크기 및 범위를 출력하는 예제입니다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FloatDoubleDecimal
{
internal class Program
{
static void Main(string[] args)
{
float flt = 1F / 3;
double dbl = 1D / 3;
decimal dcm = 1M / 3;
//계산값 출력
Console.WriteLine("float : {0}\ndouble : {1}\ndecimal : {2}", flt, dbl, dcm);
//자료형 크기 출력
Console.WriteLine("float : {0} bytes\ndouble : {1} bytes\ndecimal : {2} bytes"
, sizeof(float), sizeof(double), sizeof(decimal));
//자료형 범위 출력
Console.WriteLine("float : {0}~{1}", float.MinValue, float.MaxValue);
Console.WriteLine("double : {0}~{1}", double.MinValue, double.MaxValue);
Console.WriteLine("decimal : {0}~{1}", decimal.MinValue, decimal.MaxValue);
}
}
}
결과
[Review]
"초보자를 위한 C# 200제(2판)" 저자 / 강병익
'Program Language > C#' 카테고리의 다른 글
Part1. C# 첫발 내딛기(13. 문자열과 숫자의 변환) (0) | 2023.01.08 |
---|---|
Part1. C# 첫발 내딛기(12. 자료형 변환) (0) | 2023.01.06 |
Part1. C# 첫발 내딛기(10. 형식 지정자) (0) | 2023.01.03 |
Part1. C# 첫발 내딛기(9. Console.WriteLine() - 3) (0) | 2022.12.28 |
Part1. C# 첫발 내딛기(8. Console.WriteLine() - 2) (0) | 2022.12.27 |
댓글