MCP로 연결 →

계산 입력

16진수 8자리를 입력하세요(예: π는 40490FDB). "0x" 접두사는 선택 사항입니다.

공식

광고

결과

10진수 값
3.1415927410125732
IEEE 754 단정밀도 (32비트)
부호 비트 0 (positive)
저장된 지수 128
바이어스를 뺀 지수 1
가수 (원시 비트) 4,788,187
가수 소수부 0.5707963705062866

IEEE 754 부동소수점 변환기란?

이 도구는 32비트 16진수 값을 IEEE 754 단정밀도(single-precision) 표준에 따라 실제 숫자로 디코딩합니다. IEEE 754는 C, Java를 비롯한 대부분의 최신 하드웨어에서 float 타입에 사용하는 형식이죠. 16진수 8자리를 입력하면 계산기가 이 값을 float를 구성하는 세 가지 필드, 즉 부호 비트 1개, 지수 비트 8개, 가수(소수부) 비트 23개로 나눈 뒤 다시 10진수 값으로 조합해 보여줍니다.

사용 방법

32비트 값을 16진수로 입력하세요(예: 40490FDB). "0x" 접두사는 붙이지 않아도 되며, 16진수가 아닌 문자는 자동으로 무시됩니다. 8자리보다 짧으면 왼쪽이 0으로 채워집니다. 결과에는 10진수 값과 함께 디코딩된 부호, 저장된 지수, 바이어스를 뺀 지수, 가수가 표시되므로 비트 배치를 직접 검증해 볼 수 있습니다.

공식 설명

정규화된 수(normal number)의 값은 다음과 같이 계산됩니다.

$$\text{Value} = (-1)^{s} \times \left(1 + \frac{m}{2^{23}}\right) \times 2^{(e - 127)}$$

여기서 127은 단정밀도의 지수 바이어스(bias)입니다. "1 +" 부분은 정규화된 이진수가 항상 가지는 암묵적 선행 비트(implicit leading bit)를 반영한 것입니다. 저장된 지수 \(e\)가 0이면 비정규수(subnormal)로, 암묵적 선행 1이 사라지고 지수는 -126으로 고정됩니다. \(e\)가 255이면 가수가 0일 때는 무한대(infinity), 0이 아닐 때는 NaN을 나타냅니다.

광고
부호·지수·가수 필드로 나뉜 32비트 IEEE 754 단정밀도 레이아웃
32비트는 부호 1비트, 지수 8비트, 가수 23비트로 나뉩니다.

예제 풀이

40490FDB를 예로 들어 보겠습니다. 이진수로 보면 부호는 0(양수)이고, 지수 필드는 10000000 = 128이므로 바이어스를 뺀 지수는 \(128 - 127 = 1\)입니다. 가수 비트는 4788187이므로 소수부는 \(4788187/8388608 \approx 0.5707964\)가 됩니다. 따라서 값은 \((1 + 0.5707964) \times 2^{1} \approx 3.14159274\)로, 단정밀도로 표현할 수 있는 π에 가장 가까운 근삿값입니다.

부호·지수·가수를 하나의 값으로 조합하는 IEEE 754 수식을 보여주는 다이어그램
각 필드는 수식에 입력되어 10진수 값을 복원합니다.

자주 묻는 질문

왜 결과가 제가 예상한 값과 정확히 일치하지 않나요? 단정밀도는 약 7자리의 10진 정밀도만 제공합니다. 그래서 많은 10진수 값이 표현 가능한 가장 가까운 float 값으로 반올림됩니다.

배정밀도(64비트)는 어떤가요? 이 도구는 32비트 단정밀도를 처리합니다. 배정밀도(double)는 지수 11비트, 가수 52비트, 바이어스 1023을 사용합니다.

7FC00000은 어떤 값인가요? 이는 NaN(지수가 모두 1, 가수가 0이 아님)으로, 유한한 숫자가 아닙니다.

최종 업데이트: