본문으로 건너뛰기

부동소수점 비트·16진수 변환기

숫자를 IEEE 754 float32/64로 인코딩하거나 정확한 이진·16진 비트 패턴을 해석하세요.

변환 방향과 형식 선택

브라우저에서 처리해요.

십진수, 과학적 표기법, Infinity, -Infinity, NaN 또는 -0. 2진수는 정확히 32·64자리, 16진수는 8·16자리로 입력하세요. 0x, 공백, 밑줄을 사용할 수 있어요.

IEEE 754 표현

형식을 고르고 값이나 비트 패턴을 입력한 뒤 변환하세요.

실제로 저장된 수치1
부호 비트지수 비트가수 비트
0
01111111
00000000000000000000000

부동소수점 변환기 사용법

숫자를 비트로 변환

숫자 → 비트·16진수를 고른 뒤 float32 또는 float64를 선택하고 십진수를 입력하세요. 브라우저가 선택한 IEEE 754 이진 형식으로 JavaScript 숫자를 DataView에 써요. 저장된 값, 전체 비트열, 16진수 바이트, 부호, 지수, 가수와 값의 종류를 표시해요.

비트·16진수를 숫자로 해석

비트·16진수 → 숫자를 선택하세요. Float32는 정확히 32비트 또는 16진수 8자리, float64는 64비트 또는 16진수 16자리가 필요해요. 앞의 0x는 생략할 수 있고, 공백이나 밑줄로 묶음을 구분할 수 있어요. 최상위 바이트가 먼저 나오는 빅 엔디언 순서로 표시해요.

각 필드 이해하기

첫 비트는 부호예요. Float32는 지수 8비트·가수 23비트·바이어스 127을, float64는 지수 11비트·가수 52비트·바이어스 1023을 사용해요. 지수 비트가 모두 0이면 0이나 비정규화 수를 나타내요. 모두 1이면 가수에 따라 무한대나 NaN을 나타내요.

반올림 이해하기

JavaScript는 입력한 십진수를 먼저 Number로 읽어요. Float32로 변환하면 이진 유효 정밀도 24비트에 맞춰 다시 반올림될 수 있어요. Float64는 이미 읽은 JavaScript binary64 값을 사용해요. 저장된 표현을 보여 주지만, 변환 전에 버려진 십진수 자릿수를 복구하거나 임의 정밀도 십진 연산을 제공하지는 않아요.

확인 가능한 예시

Float32의 값 1

숫자 1의 비트는 00111111100000000000000000000000이고 16진수는 0x3F800000이에요. 부호는 0, 지수는 01111111이며 가수 비트는 모두 0이에요.

특수한 값과 반올림

Float32에서 -0은 0x80000000, 양의 무한대는 0x7F800000, 가장 작은 양의 비정규화 수는 0x00000001이에요. π를 float32로 바꾸면 표현 가능한 가장 가까운 값으로 반올림되어 약 3.1415927410125732가 돼요.

한계와 정확성

자주 묻는 질문

Float32로 바꾸면 십진수가 달라지는 이유는?

대부분의 십진 소수는 이진수로 정확히 표현할 수 없고, float32의 유효 비트 수는 JavaScript Number보다 적어요.

+0과 -0은 다른가요?

많은 계산에서 비슷하게 비교되지만 부호 비트는 달라요. 이 도구는 -0을 보존하고 구분해 표시해요.

NaN 페이로드를 입력할 수 있나요?

해석 모드에서 정확한 비트나 16진수를 입력하면 돼요. 숫자를 변환하는 모드에서는 일반 NaN 값만 받아요.

빅 엔디언 표시란 무엇인가요?

가장 왼쪽 바이트에 상위 부호·지수 비트가 들어 있어요. 기기의 메모리 배치와 무관하게 정한 표시 순서예요.