IEEE 754 부동소수점 변환기

10진수를 32비트·64비트 IEEE 754로 분해하고, 16진수·2진수 비트 패턴을 다시 숫자로 디코딩합니다.

카테고리: 변환 도구

언제 사용하나요?

부동소수점이 메모리에 어떻게 저장되는지 배우거나, 임베디드·저수준 디버깅에서 float 비트 패턴을 해석할 때 사용합니다. 숫자를 부호·지수·가수로 분해해 보여주고, 0.1 같은 값이 왜 정확히 저장되지 않는지 확인할 수 있습니다.

사용 방법

  • '10진수 → IEEE 754' 탭에서 숫자를 입력해 32·64비트 분해를 확인합니다.
  • 또는 '16진수/2진수 → 10진수' 탭에서 비트 패턴과 정밀도를 입력합니다.
  • 부호·지수·가수 비트와 16진수, 실제 저장값을 확인·복사합니다.

입력값 안내

10진수(예: 0.1, -3.14, 1e10, Infinity) 또는 IEEE 754 비트 패턴(16진수 8/16자리 또는 2진수 32/64자리)을 입력합니다.

계산·변환 기준

ArrayBuffer와 DataView의 setFloat32/setFloat64로 비트를 추출해 부호·지수·가수로 나눕니다. 디코딩은 비트 패턴을 다시 float로 읽어 실제 저장값을 보여줍니다.

사용 예시

  • 부동소수점 학습 - 부호·지수·가수 구조와 반올림 오차를 직접 눈으로 확인합니다.
  • 저수준 디버깅 - 메모리 덤프의 float 비트 패턴(16진수)을 실제 숫자로 디코딩합니다.

예시

  • 0.1 → 32비트 0x3DCCCCCD, 저장값 0.10000000149011612
  • 0x3FB999999999999A (64비트) → 0.1

주의사항

  • 32비트 단정밀도는 정밀도가 낮아 입력한 10진수와 저장값이 다를 수 있습니다(반올림).
  • 바이트 순서는 빅엔디안 기준으로 해석합니다.

자주 묻는 질문

왜 0.1이 정확히 저장되지 않나요?

0.1은 2진 분수로 유한하게 표현되지 않아 가장 가까운 값으로 반올림되어 저장됩니다.

단정밀도와 배정밀도 차이는?

단정밀도(32비트)는 지수 8·가수 23비트, 배정밀도(64비트)는 지수 11·가수 52비트로 정밀도가 더 높습니다.

16진수로 디코딩할 수 있나요?

네. 16진수나 2진수 비트 패턴과 정밀도를 입력하면 원래 숫자로 디코딩합니다.

관련 도구

  • 진법 변환기 - 2진수, 8진수, 10진수, 16진수를 서로 변환합니다.
  • 단위 변환기 - 길이, 무게, 온도, 넓이, 부피 단위를 자유롭게 변환합니다.
  • 해시 생성기 - 텍스트를 SHA-1, SHA-256, SHA-512 해시로 변환합니다.
  • URL 인코딩/디코딩 - 텍스트를 URL 안전 형식(%XX)으로 인코딩하거나 인코딩된 URL을 원래 텍스트로 디코딩합니다.
  • Base64 변환기 - 텍스트를 Base64로 인코딩하거나 Base64 문자열을 원래 텍스트로 디코딩합니다.
  • HTML 이스케이프/언이스케이프 - HTML 특수문자를 엔티티로 바꾸고, 엔티티 문자열을 원래 문자로 되돌립니다.