-
부동소수점에 대한 이해 2
서론 지난 글에서는 부동소수점 자료형이 무엇이고, 이들의 대표적인 표준인 IEEE 754에서 규정한 이진법 16비트 자료형의 세부적인 구조 및 10진수와 서로 변환하는 법 등을 알아보았습니다. 이번 글에서는 지난 글에 이어, 부동소수점 자료형으로 나타낸 수들끼리의 사칙연산을 수행하는 과정을 알아보고, 실제 프로그래밍 언어에서의 수학 라이브러리 함수를 보며 비교적 간단한 연산들을 어떻게 구현하게 되는지에 대해 알아보도록 하겠습니다. 사칙연산 사칙연산과 같은 기본적인 연산은 CPU, 또는 FPU (floating-point unit)에 내장되어 있기 때문에 별도의 라이브러리 없이도 사용이 가능합니다. 이 문단에서는 부동소수점 자료형을...
-
부동소수점 자료형에 대한 이해 1
서론 많은 프로그래밍 언어들에서 우리는 부동소수점 자료형을 사용하게 됩니다. 대표적으로 C, C++의 float와 double, 그리고 long double이 있습니다. 이러한 자료형들을 사용할 때에는 항상 듣는 주의사항이 있습니다. “오차가 발생할 수 있으니까 주의해야 해!” 이러한 경고는 듣는 것만으로는 잘 와닿지 않지만, 부동소수점 자료형들을 실제로 사용해보면 상식적으로는 이해되지 않는 어처구니 없는 상황을 목격하게 됩니다. 대표적으로 0.1 + 0.2 == 0.3이 거짓이라거나, 1.0 / 7.0을 7번 더했는데 1.0과 다르다고 나오는 것들을 보면서 비로소 이 자료형은 이런 간단한 연산 하나...