문자열을 어떻게 읽을지 선택
처음에는 10진수 0.1과 binary32가 선택됩니다. 입력 표현을 바꾸는 동작은 텍스트 변환이 아니라 재해석입니다. 기존 16진 워드를 읽을 때는 가장 높은 비트를 왼쪽에 두고 정밀도에 맞는 전체 길이를 입력하세요.
숫자·비트 연산·단위
소수 하나를 입력해 저장값과 비교하거나, 완전한 16진수 및 2진수 워드를 해석하세요.
입력은 이 브라우저에서 처리되며 서버로 전송되지 않습니다.
소수점은 점을 쓰며 e/E 지수를 허용합니다. 16진수는 8/16자리, 2진수는 32/64비트여야 합니다. 워드에는 0x/0b와 공백, 탭을 사용할 수 있습니다.
소수 표시 · 유효 숫자 9 / 17자리
0.100000001
정규화 수
0.100000001490116119384765625
0.000000001490116119384765625
선택한 정밀도로 직접 반올림합니다. 가장 가까운 값, 정확한 중간은 짝수 쪽을 선택합니다. 정밀도나 표현을 바꾸면 현재 텍스트를 다시 읽습니다. 최대 1024자, 명시적 10진 지수 −4096…4096.
분석이 완료되었습니다.
부동소수점 변환기는 디버거에 보이는 짧은 소수와 실제 저장된 값의 차이를 확인할 때 유용합니다. 화면의 0.1이 정확히 10분의 1을 뜻하지는 않습니다. 전체 10진 전개와 부호 있는 오차를 함께 보면 차이가 생긴 방향까지 알 수 있습니다.
IEEE 754 변환에는 숫자를 새로 인코딩하는 작업과 기존 비트 패턴을 읽는 작업이 있습니다. 16진수와 10진수 사이의 변환을 선택할 때 입력의 의미를 먼저 정하세요. 메모리에서 가져온 값이라면 워드의 길이와 바이트 순서도 확인해야 합니다.
부동소수점 변환기는 원래의 정확한 소수를 각 형식에 따로 반올림합니다. 단정밀도에서 0.1은 0.100000001490116119384765625로 저장됩니다. 배정밀도는 더 가깝지만 여전히 정확하지 않습니다. 오차의 부호를 보면 저장값이 목표보다 큰지 작은지 알 수 있습니다.
7FC00001과 7FC00002는 모두 quiet NaN이지만 페이로드는 각각 1과 2입니다. 원본 비트를 읽으므로 부호와 quiet 비트도 남습니다. NaN이라는 같은 이름으로 표시된다고 해서 오류 분석에 필요한 서로 다른 패턴이 합쳐지지 않습니다.
처음에는 10진수 0.1과 binary32가 선택됩니다. 입력 표현을 바꾸는 동작은 텍스트 변환이 아니라 재해석입니다. 기존 16진 워드를 읽을 때는 가장 높은 비트를 왼쪽에 두고 정밀도에 맞는 전체 길이를 입력하세요.
짧은 소수는 32비트에서 유효 숫자 9자리, 64비트에서 17자리로 표시됩니다. 전체 저장값 영역에는 모든 소수 자리가 남습니다. 오차는 저장값에서 입력값을 뺀 값이므로 음수라고 해서 잘못된 계산은 아닙니다.
예제에서 음의 0, 최소 비정규화 수, NaN 등 다섯 가지를 선택할 수 있습니다. 적용한 변경은 결과와 함께 되돌릴 수 있습니다. 자동 모드는 350ms 뒤 갱신하며 끄면 분석 버튼이나 Ctrl/Cmd + Enter를 사용합니다.
단정밀도와 배정밀도 형식은 각각 1/8/23과 1/11/52비트로 나뉩니다. 저장 지수와 실제 지수, 숨겨진 선행 비트를 별도로 표시합니다. 정규화 수의 선행 비트는 1, 비정규화 수는 0이므로 지수가 모두 0일 때 해석이 달라집니다.
10진 텍스트를 정확한 유리수로 읽어 목표 유효 숫자로 직접 반올림합니다. 1.000000059604644775390625보다 아주 조금 큰 수를 먼저 double로 바꾸면 차이가 없어질 수 있습니다. 이 변환은 원래의 차이를 보존하여 올바른 float32 이웃을 선택합니다.
16진수와 2진수 출력에는 signaling NaN까지 모든 비트가 유지됩니다. 워드만 복사하거나 입력, 정밀도, 필드, 정확한 소수와 오차를 포함한 보고서를 저장할 수 있습니다. 다른 디버거나 구현의 결과와 비교할 때 사용하세요.
float32는 저장 가수 23비트에 정규화 수의 숨겨진 1비트를 더해 24비트 정밀도를 갖습니다. float64는 52비트와 숨겨진 비트로 53비트입니다. 지수도 8비트에서 11비트로 넓어집니다. 배정밀도는 범위와 간격이 유리하지만 0.1을 정확하게 저장하지는 못합니다.
유한한 2진 소수는 분모가 2의 거듭제곱인 수입니다. 0.1은 분모에 5가 필요하여 2진수로 무한히 반복됩니다. 제한된 유효 숫자에 맞춰 반올림한 값이 저장되므로 전체 10진 전개를 보면 입력과 차이가 납니다.
지수가 모두 1이고 가수가 0이면 무한대, 가수가 0이 아니면 NaN입니다. 음의 0은 지수와 가수가 0이고 부호 비트만 1입니다. NaN은 quiet 비트와 나머지 페이로드도 따로 확인할 수 있습니다.
저장 지수가 0이고 가수가 0이 아닌 수입니다. 선행 비트는 0이며 실제 지수는 float32에서 −126, float64에서 −1022로 고정됩니다. 최소 정규화 수보다 작은 값을 점진적으로 표현하여 0과의 간격을 메웁니다.
32비트 16진 입력으로 읽으면 quiet NaN이며 페이로드는 0입니다. 7FC00001은 같은 분류이지만 페이로드가 1입니다. 64비트로 선택하면 워드 길이가 부족하므로 자동으로 채우지 않고 오류를 표시합니다.
결과가 예상과 다른가요?
부동소수점 변환기로 캡처한 워드나 반올림 경계의 소수를 확인하세요. 조건을 하나씩 바꾸고 현재 결과가 준비된 뒤 전체 보고서를 복사할 수 있습니다.