태그: #numerics
GPU·LLM·MLOps·쿠버네티스, 그리고 마음가짐에 관한 글 · 2 편
부동소수점: 0.1 + 0.2 는 왜 0.3이 아닌가
거의 모든 언어에서 0.1 + 0.2가 0.3이 아닌 값을 냅니다. 버그가 아니라 IEEE 754의 설계 결과입니다. 2진 부동소수점이 어떻게 수를 담는지, 왜 10진 소수를 정확히 표현할 수 없는지, 엡실론 비교와 돈 계산은 어떻게 해야 하는지, NaN·무한대·음수 0의 정체와 누적 오차까지, 부동소수점의 진실을 밑바닥부터 풀어냅니다.
2026-06-20 · 22 분 읽기 #floating-point#ieee754#fundamentals#numerics부동소수점과 IEEE 754 완벽 해부 — 왜 0.1 + 0.2 ≠ 0.3 인가, NaN, 서브노멀, 통화 연산, bfloat16까지 (2025)
"0.1 + 0.2 = 0.30000000000000004"를 검색해본 적 없는 개발자는 없다. 하지만 그 뒤의 IEEE 754 표준을 제대로 아는 사람은 드물다. 부호/지수/가수의 비트 배치, NaN과 Infinity의 비트 레벨, 서브노멀이 느린 이유, 은행 잠깐 멈추게 만든 Intel FDIV 버그, 우주선을 폭발시킨 Ariane 5 사고, 그리고 현대 LLM을 움직이는 bfloat16
2026-04-15 · 32 분 읽기 #floating-point#ieee-754#numerics#precision#ml