logo

수치적 알고리즘에서의 부동소수점 체계와 머신입실론 📂알고리즘

수치적 알고리즘에서의 부동소수점 체계와 머신입실론

정의

부동소수점 체계 1

부동소수점 체계floating point system란, 다음과 같이 나타나는 수 $x$ 들로 이루어져 있다. $$ x = m \cdot \beta^{e} , \quad m = \pm d_{0} . d_{1} d_{2} \ldots d_{t} $$ 여기서 $m$ 을 가수mantissa, $e$ 를 지수exponent라고 한다. 모든 $k = 0 , \cdots, t$ 에 대해 $d_{k}$ 는 기수base $\beta \in \mathbb{N}$ 에 대해 $0 \le d_{k} < \beta$ 를 만족하는 숫자digit다. 보통 가수는 $1 \le |m| < \beta$ 를, 지수는 $L \le e \le U$ 를 만족하도록 정규화되고, 부동소수점 체계는 순서쌍 $F = \left( \beta , t, L, U \right)$ 로 표현된다.

머신입실론 2

부동소수점체계 $\left( \beta , t, L, U \right)$ 에 대해, 머신입실론unit roundoff $\epsilon$ 를 다음과 같이 정의한다. $$ \epsilon = {\frac{ 1 }{ 2 }} \beta^{1-t} $$

설명

부동소수점은 보통 컴퓨터를 사용하는 수치계산에서 언급되며, 2026년 현재까지 평범한 컴퓨터는 이진수를 사용하므로 $\beta = 2$ 인 경우가 대부분이다. 이 때 머신입실론은 $\epsilon = 2^{-t}$ 이 되어서, 해당 부동소수점 체계에서 표현할 수 있는 수 중 그 크기가 가장 작은 수 정도로 생각하면 된다. 비슷한 의미로, $\epsilon$ 는 $1 +_{F} \varepsilon > 1$ 을 만족하는 가장 작은 $\varepsilon > 0$ 으로 정의되기도 한다. 여기서 $+_{F}$ 는 부동소수점 체계 $F$ 에서의 덧셈 연산을 의미한다.


  1. Björck, Å. (1996). Numerical methods for least squares problems. Society for Industrial and Applied Mathematics. p37 ↩︎

  2. Trefethen, L. N., & Bau, D. (2022). Numerical linear algebra. Society for Industrial and Applied Mathematics. ↩︎