IEEE 754 부동소수점 변환기(계산기)
* 음수 표현은 분모나 분자 둘 중 하나를 음수로 쓰시면 됩니다.
도움말
사용법
-
범위를 먼저 설정합니다. [single (32bit|단정밀도) / double (64bit|배정밀도) / 커스텀]
-
'10진법 → 부동소수점' 또는 '부동소수점 → 10진법' 탭을 선택 후 변환할 값을 입력합니다.
-
본문에는 2진법으로 부동소수점을 표현하는데
만약 16진법(HEX)등 변환이 필요하다면 진법변환 계산기를 이용해보세요.
부동소수점 설명
부동소수점 표현은 컴퓨터에서 수를 저장하는 방법중에 하나 입니다.
부호는 맨처음 0과 1로 표시하고, 1.xxxxx 와 2n의 곱으로 수를 표현하는 방법으로 알고 계시면 될 것 같습니다.
= 부동소수점에는 위 정보가 있고, 부동소수점으로 바꿀때에도 숫자에서 위 정보를 뽑아내면 됩니다.
부동소수점 | 부호 | 지수 | 가수 | Bias |
---|---|---|---|---|
32bit | 1bit | 8bit | 23bit | 127 |
64bit | 1bit | 11bit | 52bit | 1023 |
약속된 규칙이므로 계산하기 위해서는 미리 알아야하는 내용이 있습니다.
어디까지가 {부호, 지수, 가수}인지 알아야하고, Bias값을 알아야 계산이 가능합니다.
Bias 값은 어떻게 정해지나요?
32bit 기준으로 설명을 해보자면, 지수값의 비트는 8개(숫자 범위는 0 ~ 255)로 약속되어있습니다.
Bias는 숫자 범위의 절반부터 시작해야 지수의 음수(-)범위에서 0을 포함하여 양수(+)범위까지 모두 포함시킬 수 있는데
절반은 01111111(2) = 127로 Bias는 127이 됩니다.
결국 지수범위만 외우면 부호는 1bit로 고정, 가수부분은 나머지가 되므로 쉽게 알 수 있고,
Bias는 지수부분의 절반! 앞자리만 0임을 알 수 있습니다.
64bit에서는 지수부가 11bit 이므로 11개중 앞자리만 0으로 쓰면 01111111111(2) = 1023 이 되는것을 알 수 있습니다.
64bit의 지수범위 11bit만 외웠는데 Bias 기본값 "1023" 과 "1bit는 부호 / 11bit는 지수 / 나머지 52bit가 가수" 임을 알 수 있습니다.
* bias값은 경우에 따라 다르게 쓸 수 있고 그런 경우에는 별도로 bias값을 안내합니다.
또 다른 약속
Infinity (무한대)
- 부호: 양수는 0, 음수는 1
- 지수: 모두 1
- 가수: 모두 0
NaN (Not a Number: 숫자가 아니거나, 잘못됨.)
- 지수: 모두 1
- 가수: 0이 아닌수가 한개라도 있으면
Zero (0)
- 부호: 양수는 0, 음수는 1
- 지수: 모두 0
- 가수: 모두 0
범위 초과시 "반올림"
IEEE754 표기시 가수범위(소수점부분)를 초과하는 경우 반올림합니다.
10진수에서 5이상을 반올림 하듯, 2진수에서는 1이상을 반올림하면 됩니다.
0.1을 32bit 부동소수점으로 변환과정에서 가수값을 보면 반올림의 의미는 이해되실겁니다.
이 툴이 생긴 이유
어려운 내용이 아닌데 너무 어렵게 설명하고, 어렵게 가르치는것 같아서 이 툴을 만들고 간단히 이해할 수 있는 설명을 넣었습니다.
오류제보 / 기능제안 안내사항
본문에 내용이 잘못되었거나, 설명등에 개선이 필요한 경우 아래 '오류제보/기능제안'에 글을 작성해주세요.
예시: {어디}가 {어떻게} 개선되면 좋을것 같아요
오류제보 / 기능제안 글 작성하러가기