포짓(Posit) 부동소수점 변환기
10진수와 posit 비트열을 서로 바꾸고 부호·레짐·지수·가수 네 필드로 쪼개 보여줍니다. IEEE754와 달리 지수 길이가 고정되지 않아 1 근처일수록 정밀도가 늘어나는 이유까지 확인할 수 있습니다.
posit은 0과 무한대 부호가 없어 아주 크거나 작은 값은 그쪽 한계값으로 반올림됩니다
가장 가까운 posit 표현값
3.1416015625
입력과의 차이 0.000009
비트 표현
분해
이 설정(n=16, es=2)의 표현 범위
사용 방법
- 1변환 방향을 고릅니다 — 10진수를 비트로, 또는 비트를 10진수로.
- 2전체 비트 수(8·16·32)와 지수 필드 폭 es를 고릅니다.
- 3값 또는 비트열을 넣으면 부호·레짐·지수·가수 네 필드로 나뉜 결과가 나옵니다.
- 4레짐값 k와 useed^k × 2^e × (1+f) 식으로 값이 어떻게 나왔는지 확인합니다.
자주 묻는 질문
IEEE754를 대신하자고 존 거스탑슨(John Gustafson)이 제안한 부동소수점 형식입니다. IEEE754는 지수 비트 수가 정밀도와 무관하게 고정인데, posit은 부호 다음에 오는 레짐(regime)이라는 가변길이 필드가 지수 자릿수를 대신 정합니다. 그 결과 1 근처의 흔한 값일수록 남는 비트가 가수로 더 많이 가서 정밀도가 높아지고, 아주 크거나 작은 값은 정밀도를 내주는 대신 표현 범위를 넓힙니다 — "tapered precision(체감 정밀도)"이라 부릅니다.
부호 비트 다음부터 같은 비트가 이어지는 길이를 셉니다. 1이 연달아 나오면 그 개수에서 1을 뺀 값이 k이고(예: "1110"→1이 3개→k=2), 0이 연달아 나오면 그 개수의 음수가 k입니다("0001"→0이 3개→k=−3). 종결비트(처음 나오는 반대 비트)까지 레짐이 차지하고, 남는 비트가 있어야 그 다음에 지수·가수가 옵니다 — 레짐이 길수록 가수는 짧아집니다.
역할은 같지만 비트 패턴이 다릅니다. IEEE754의 NaN은 지수가 전부 1이고 가수가 0이 아니기만 하면 되어 비트 패턴이 무수히 많은데, posit의 NaR("Not a Real")은 "1 뒤에 전부 0" 딱 한 패턴뿐입니다. 0으로 나누기·정의되지 않는 계산 전부를 이 한 값으로 묶고, 0 역시 "전부 0" 한 패턴뿐이라 −0이 따로 없습니다.
posit에서 0은 오직 정확히 0일 때만의 표현이기 때문입니다. 아무리 작아도 0이 아닌 값은 반올림 후보에서 0이 빠지고 표현 가능한 가장 작은 양수인 minpos로 반올림됩니다. IEEE754가 아주 작은 값을 서서히 0에 가깝게 내주는(비정규수) 것과 달리, posit은 0과 0이 아닌 값 사이에 minpos라는 문턱이 있는 셈입니다.
2022년 확정된 Posit 표준(Posit Working Group)이 posit8·16·32 모두 es=2로 통일했기 때문입니다. 2017년 초안에서는 크기별로 다른 es(8비트 es=0, 16비트 es=1, 32비트 es=2)를 썼는데, 이 두 세대는 같은 비트열이라도 다른 값을 나타내 서로 호환되지 않습니다. 이 계산기가 es를 직접 고르게 한 이유이기도 합니다.
전송되지 않습니다. 모든 변환은 브라우저 안에서만 이뤄지고, 입력값은 이 기기의 저장소에만 남습니다.
알아두면 좋은 점
- 값→비트 변환은 표현 가능한 비트열 중 가장 가까운 것을 국소 탐색으로 찾습니다(레짐값 후보 몇 개를 실제로 만들어 보고 비교) — 정의를 그대로 따르는 비트→값 변환과 달리, "가장 가까운 표현값 찾기" 자체는 posit 표준이 규정하는 반올림 목표를 구현한 것이라 이론상 항상 최적값이 나오도록 설계했지만 극단적인 입력에서 오차가 있을 수 있습니다.
- 자바스크립트 배정도(64비트) 실수로 계산하므로 32비트를 넘는 posit(예: posit64)은 부동소수점 자체의 정밀도 한계에 걸려 다루지 않습니다.
- 두 세대(2017 초안의 크기별 es, 2022 표준의 es=2 고정)를 구분 없이 섞어 쓰면 같은 비트열이 다른 값으로 읽힙니다. 자료를 주고받을 때는 항상 es 값을 함께 적어 두세요.
함께 보면 좋은 도구
마지막 검증: 2026년 9월 5일 · 결과는 참고용 추정치입니다.