8비트 부동소수점 변환 사이트 - 8biteu budongsosujeom byeonhwan saiteu

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

범위:  

도움말

사용법

  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)입니다.

값의 절반부터 시작해야 지수의 음수(-)범위에서 0을 포함하여 양수(+)범위까지 모두 포함시킬 수 있는데

절반은 01111111(2) = 127로 Bias는 127이 됩니다.

결국 지수범위만 외우면 부호와 가수부분은 앞뒤로 나뉘게되니 알 수 있고,
Bias는 지수부분의 절반! 앞자리만 0임을 알 수 있습니다.

또 다른 약속

Infinity (무한대)

  • 부호: 양수는 0, 음수는 1
  • 지수: 모두 1
  • 가수: 모두 0

NaN (Not a Number: 숫자가 아니거나, 잘못됨.)

  • 지수: 모두 1
  • 가수: 0이 아닌수가 한개라도 있으면

Zero (0)

  • 부호: 양수는 0, 음수는 1
  • 지수: 모두 0
  • 가수: 모두 0

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

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

숫자를 표현하는 다양한 방식¶

일상 생활에서 우리는 주로 10진수로 숫자를 표현합니다.

예를 들어 사과가 3개 있다고 표현하거나 온도가 13.5도라고 표현합니다.

이 숫자들을 2진수로 표현하면 정수 3은 2진수로 11 (2) 이 되고, 실수 13.5는 2진수로 1101.1 (2) 가 됩니다.

(10진수 0.1 (10) 은 1/10이고, 2진수 0.1 (2) 은 1/2입니다.)

컴퓨터는 숫자 0과 1을 이용해서 숫자를 표현하는데, 부동소수점 (floating point) 방식은 숫자를 0과 1을 이용해서 (근사해서) 표현하는 방식 중 하나입니다.

부동소수점에서 부동은 움직이지 않는다는 뜻의 不動이 아니라, 오히려 그 반대의 의미로 소수점이 떠다니며 움직인다는 의미의 부동 (浮動)입니다.

이 페이지에서는 IEEE 754 표준 방식으로 숫자를 부동소수점으로 표현하는 방법에 대해 소개합니다.

(IEEE 754는 전기 전자 기술자 협회 (IEEE)에서 개발한 표준 부동소수점 방식이며 현재 컴퓨터에서 가장 널리 쓰이는 방식입니다.)

IEEE Standard for Floating Point Arithmetic (IEEE 754).

부호, 지수, 가수¶

IEEE 754 부동소수점 표현에서 숫자는 아래와 같이 부호부, 지수부, 가수부의 세 부분으로 구성됩니다.

각 부분의 역할과 사용하는 비트 수는 아래와 같습니다.

  • 부호부 (Sign) : 1비트. 숫자의 부호를 나타내며, 양수일 때 0, 음수일 때1이 됩니다.

  • 지수부 (Exponent) :8비트. 지수를 나타냅니다.

  • 가수부 (Mantissa) : 23비트. 가수 또는 유효숫자를 나타냅니다.

32비트 단정도 (single precision) 부동소수점 표현.

위의 그림과 같이 숫자를 표현하고 저장하기 위해 32비트 (4바이트)를 사용하는 방식을 단정도 (single precision)라고 합니다.

배정도 (double precision) 표현에서는 64비트 (8바이트)를 사용합니다.

부동소수점 변환 예시¶

숫자 -314.625를 IEEE 754 부동소수점 방식으로 표현해 보겠습니다.

부호부¶

첫번째로 부호를 확인합니다.

부호가 음수이므로 32비트의 가장 앞자리는 1이 됩니다.

가수부¶

두번째로 숫자의 절대값을 2진수로 표현합니다.

314.625는 2진수 100111010.101 (2) 가 됩니다.

이 2진수의 소수점을 아래와 같이 왼쪽으로 이동시켜서 소수점 왼쪽에 1만 남도록 합니다.

이제 2진수 100111010.101 (2) 를 아래와 같이 표현할 수 있는데, 이 방식을 정규화된 표현 방식이라고 합니다.

그리고 소수점의 오른쪽 부분 00111010101을 가수부 23비트의 앞에서부터 채워줍니다.

남는 자리는 0으로 채워줍니다.

지수부¶

이제 지수부를 채울 차례입니다.

지수는 8입니다.

지수 8에 bias인 127을 더해줍니다. (bias는 2 k-1 로 주어지는데 k는 지수부의 비트수 8입니다.)

아래와 같이 8에 bias를 더한 135를 2진수로 변환합니다.

변환한 2진수 10000111 (2) 을 8비트 지수부에 채워줍니다.

위와 같은 과정을 통해 숫자 -314.625를 32비트 단정도 부동소수점 방식으로 표현하면 11000011100111010101000000000000가 됩니다.

이 링크와 같은 웹사이트에서 간편하게 숫자를 부동소수점으로 변환해 볼 수 있습니다.

Toplist

최신 우편물

태그