게임개발 C#-3 (실수형)

샘물공원·2023년 6월 7일
0

게임개발자

목록 보기
4/4
namespace Study // Note: actual namespace depends on the project name.
{
    class Program
    {
        static void Main(string[] args)
        {
            // int
            // float 실수형 3.14
            // string
            // bool

            // [100]
            float a;
            // 4byte

            a = 3.52323452352342342344234f;

            double b;
            // 8byte
            b = 3.52323452352342342344234;
            
            decimal c;
            // 16byte
            c = 3.52323452352342342344234;

            Console.WriteLine();
        }
    }
}

a(float) 의 출력 결과 : 3.5232346
b(double)의 출력 결과 : 3.5232345235234233
c(decimal)의 출력 결과 : 3.52323452352342342344234

  • float 와 double는 부동소수점이여서 특정한 식에 의하여 최대한의 근사치값을 표현하기 때문에 다른 결과가 나올 수 있음
    -> 연산에 민감한 돈 혹은 소수점에 민감한 숫자를 연산할 경우 결과가 정확하지 않음
    -> float 에서 f를 붙이지 않을 경우 double로 인식함(Casting의 문제가 발생할 가능성이 있음)
  • decimal은 고정소수점이여서 정확한 계산이 필요할 경우 사용하라고 MSDN에서도 권고하고 있으나 가장 느린형식임
    -> 내결함성 허용등 성능과 정확성중에서 어느 부분을 초점을 맞추어 사용할 건지 검토해야함
profile
게임개발

0개의 댓글