부동소수점 변환기 사용법
숫자를 비트로 변환
숫자 → 비트·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가 돼요.
한계와 정확성
- 표준 브라우저 DataView 연산으로 IEEE 754 교환 표현을 확인하는 도구예요. 임의 정밀도 계산기, 십진수 보존 서비스, 메모리 검사기나 파일 파서는 아니에요.
- NaN에는 여러 유효한 페이로드 비트 패턴이 있어요. NaN이라는 텍스트를 변환할 때는 브라우저의 기본 표현을 쓰고, 비트를 해석할 때는 입력한 정확한 패턴을 유지해 표시해요. 수치 결과는 어느 경우든 NaN이에요.
- 읽기와 교환이 쉽도록 비트와 16진수를 빅 엔디언 순서로 표시해요. 기기 메모리의 바이트 순서를 나타내는 것은 아니에요. 십진수에서 실수로 바꿀 때의 중간값 반올림과 오버플로는 JavaScript·DataView 변환 규칙을 따라요.
자주 묻는 질문
Float32로 바꾸면 십진수가 달라지는 이유는?
대부분의 십진 소수는 이진수로 정확히 표현할 수 없고, float32의 유효 비트 수는 JavaScript Number보다 적어요.
+0과 -0은 다른가요?
많은 계산에서 비슷하게 비교되지만 부호 비트는 달라요. 이 도구는 -0을 보존하고 구분해 표시해요.
NaN 페이로드를 입력할 수 있나요?
해석 모드에서 정확한 비트나 16진수를 입력하면 돼요. 숫자를 변환하는 모드에서는 일반 NaN 값만 받아요.
빅 엔디언 표시란 무엇인가요?
가장 왼쪽 바이트에 상위 부호·지수 비트가 들어 있어요. 기기의 메모리 배치와 무관하게 정한 표시 순서예요.