IEEE 754 부동소수점 변환기 (32 & 64비트)
변환
부동소수점 수는 부호 비트, 바이어스된 지수, 가수(fraction)로 저장되며, 입력한 값과 실제 저장된 값의 차이가 수많은 반올림 버그의 원인입니다. 이 변환기는 임의의 십진수를 float32(단정밀도, 1+8+23비트, 바이어스 127)와 float64(배정밀도, 1+11+52비트, 바이어스 1023) 모두로 정확한 IEEE 754 표현으로 보여 줍니다: 색상별 비트 문자열, hex 워드, 바이어스 없는 지수와 가수, 값 범주(정규·비정규·0·무한·NaN), 그리고 반올림 후 실제 저장된 값. 반대로도 동작합니다 — 8자리 또는 16자리 hex 워드를 붙여넣으면 디코딩된 수와 전체 분해를 보여 줍니다. 직렬화·셰이더·임베디드 코드·GPU 버퍼 디버깅과 '왜 0.1 + 0.2 != 0.3?' 같은 질문에 유용합니다. 특수 입력 Infinity, -Infinity, NaN도 받습니다. 모든 처리는 로컬에서 실행되며 업로드되지 않습니다.
- 부호
- 0 (+)
- 지수
- 123 (2^-4)
- 유효숫자
- 1.10011001100110011001101
- 저장값
- 0.10000000149011612
반올림됨 — float32는 이 값을 정확히 저장할 수 없습니다.
- 부호
- 0 (+)
- 지수
- 1019 (2^-4)
- 유효숫자
- 1.1001100110011001100110011001100110011001100110011010
- 저장값
- 0.1
float32 = 부호 1 + 지수 8 + 가수 23비트; float64 = 1 + 11 + 52. 지수 바이어스는 127 / 1023.
사용법
- '십진수 → 비트'에서 수(예: 0.1, -3.14, 1e10, Infinity, NaN)를 입력해 float32·float64 둘 다 확인.
- 부호 / 지수 / 가수 분할, hex 워드, 저장된 값을 읽으세요. float32가 반올림했으면 안내가 표시됩니다.
- '비트 → 십진수'로 전환하고 정밀도를 고른 뒤 hex 워드를 붙여넣어 수로 디코딩.
자주 묻는 질문
- 저장된 값이 입력과 다른 이유는?
- 대부분의 십진 분수는 이진 부동소수점으로 정확히 표현할 수 없습니다. 도구는 가장 가까운 표현 가능한 값을 보여 줍니다 — 예를 들어 float32의 0.1은 실제로 0.100000001490116119384765625입니다. 저장된 float32 값이 입력과 다르면 반올림 안내가 표시됩니다. float64는 JavaScript가 이미 쓰는 값과 같습니다.
- 색상별 비트의 의미는?
- 빨강은 부호 비트(0 양수, 1 음수), 파랑은 지수(바이어스됨: 2의 거듭제곱을 얻으려면 float32는 127, float64는 1023을 뺌), 초록은 가수(fraction)입니다. 정규 수의 유효숫자는 1.가수이고, 비정규 수는 최소 지수에서 0.가수입니다.
- 무한·NaN·0은 어떻게 표시되나요?
- 지수가 전부 1이고 가수가 0이면 ±무한; 지수가 전부 1이고 가수가 0이 아니면 NaN; 지수와 가수가 전부 0이면 ±0(-0의 부호 비트가 구별됨); 지수가 전부 0이고 가수가 0이 아니면 비정규 수입니다. 각 카드에 범주가 표시됩니다.
- 디코딩은 어떤 hex 형식을 기대하나요?
- 원시 비트의 빅엔디언 hex입니다: float32는 8자리(예: 3f800000 = 1.0), float64는 16자리(예: 3ff0000000000000 = 1.0). 선행 0x와 공백은 무시되며, 짧은 입력은 왼쪽이 0으로 채워집니다.
관련 도구
BCD 변환기 (2진화 10진수)
10진수 ↔ 8421 2진화 10진수 변환 — 자릿수별 4비트 니블, 패킹 BCD 16진 바이트, BCD 유효성 검사.
그레이 코드 변환기
10진수·2진수·반사 2진 그레이 코드 간 양방향 변환, 선택적 고정 비트 폭과 0-7 참조표 제공.
2의 보수 변환기 (8–64비트)
십진·hex·이진·8진 값을 입력해 8/16/32/64비트 2의 보수 비트 패턴과 부호 있는/없는 해석, hex, 8진, 1의 보수를 확인 — 브라우저에서.
로마 숫자 변환기
1부터 3999까지 아라비아 숫자와 로마 숫자를 양방향으로 변환합니다.
진법 변환기
2진수·8진수·10진수·16진수 사이로 숫자를 변환하세요.
단위 변환기
길이·무게·온도·면적·부피·속도·시간을 변환하세요.