IEEE 754 부동소수점 변환기(계산기)


* 음수 표현은 분모나 분자 둘 중 하나를 음수로 쓰시면 됩니다.

범위:  

도움말

사용법

  1. 범위를 먼저 설정합니다. [single (32bit|단정밀도) / double (64bit|배정밀도) / 커스텀]

     

  2. '10진법 → 부동소수점' 또는 '부동소수점 → 10진법' 탭을 선택 후 변환할 값을 입력합니다.

     

  3. 본문에는 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 부동소수점으로 변환과정에서 가수값을 보면 반올림의 의미는 이해되실겁니다.

가수값: 100110011001100110011001 에서

가수값: 10011001100110011001101 반올림된 값

 

이 툴이 생긴 이유

어려운 내용이 아닌데 너무 어렵게 설명하고, 어렵게 가르치는것 같아서 이 툴을 만들고 간단히 이해할 수 있는 설명을 넣었습니다.

 

오류제보 / 기능제안 안내사항

본문에 내용이 잘못되었거나, 설명등에 개선이 필요한 경우 아래 '오류제보/기능제안'에 글을 작성해주세요.

예시: {어디}가 {어떻게} 개선되면 좋을것 같아요

오류제보 / 기능제안   글 작성하러가기