IEEE 754 부동소수점 변환기
10진수 실수를 IEEE 754 단정도·배정도 비트 패턴(부호·지수·가수)으로 분해해 보여줍니다.
부호(1비트) · 지수(11비트) · 가수(52비트)
0011111110111001100110011001100110011001100110011001100110011010
16진수0x3fb999999999999a
저장된 지수(바이어스 포함)1019 (바이어스 1023)
실제 지수-4
사용 방법
- 1단정도(32비트)인지 배정도(64비트)인지 고릅니다.
- 210진수 값을 입력합니다.
- 3부호·지수·가수 비트와 16진수 표현을 확인합니다.
자주 묻는 질문
부호 1비트, 지수, 가수 세 부분으로 나눠 저장합니다. 값은 (−1)^부호 × 1.가수 × 2^(지수−바이어스) 형태입니다. 단정도는 지수 8비트·가수 23비트, 배정도는 지수 11비트·가수 52비트를 씁니다.
지수가 음수일 수도 있는데, 부호 없는 정수로 저장하면서도 크기 비교를 쉽게 하기 위해서입니다. 실제 지수에 127(단정도) 또는 1023(배정도)을 더한 값을 저장하면, 저장된 비트를 부호 없는 정수로 봤을 때 큰 값이 실제로도 큰 지수가 되어 두 실수의 대소 비교가 정수 비교처럼 간단해집니다.
0.1은 2진법으로 나타내면 무한히 반복되는 소수(0.000110011...)라 유한한 가수 비트로는 딱 떨어지게 담을 수 없습니다. 그래서 가장 가까운 값으로 반올림해 저장하며, 이 반올림 오차가 "0.1 + 0.2가 0.3이 아니게 나오는" 부동소수점 버그의 원인입니다.
지수 필드가 전부 0인 특수한 경우로, 이때는 가수 앞에 암묵적으로 붙던 "1."이 사라지고 "0."이 됩니다. 그래서 0에 아주 가까운 값들이 정밀도를 서서히 잃으며 표현되어, 0으로 뚝 끊기지 않고 완만하게 이어집니다.
알아두면 좋은 점
- 자바스크립트의 Number는 원래 배정도라 이 도구의 계산은 언어가 이미 구현한 표준을 그대로 보여주는 것입니다.
- NaN을 나타내는 비트 패턴은 하나가 아닙니다 — 지수가 전부 1이고 가수가 0이 아니기만 하면 전부 NaN입니다.
함께 보면 좋은 도구
마지막 검증: 2026년 9월 2일 · 결과는 참고용 추정치입니다.