8 비트 부동 소수점 표현

나는 분수를 부동 소수점 값으로 표현하는 것에 대해 연구하고 있습니다. 이것은 8 비트 표현이 될 것입니다. 텍스트 어딘가에 다음과 같이 표시되어 있습니다.

8 비트 부동 소수점 표현

“우리는 부호 (음의 경우 1, 양의 경우 0)를 나타내는 데 첫 번째 비트를 사용하고 다음 4 비트는 7의 합계를 나타냅니다. 실제 지수 (음의 지수를 허용하기 위해 7을 더함)와 가수의 분수 부분에 대한 마지막 3 비트

이제 질문 is : 왜 “7”(다른 값이 아닌)을 실제 지수에 추가해야합니까?

댓글

  • CS.SE에 오신 것을 환영합니다! 텍스트는 괄호 안에 이유를 알려줍니다. 참고로, ' 한 텍스트의 설명을 이해하지 못하는 경우 ' 주제에 대한 다른 설명을 검색하는 것이 종종 도움이됩니다. . 부동 소수점에 대한 많은 리소스가 있습니다.
  • 그러면 7을 추가해야하는 이유는 무엇입니까?
  • '에 대한 답을 이해했다면 첫 번째 질문입니다. 이해 한 내용을 표시하도록 게시물을 수정하는 것이 좋습니다.

답변

4 비트는 16 개의 다른 값을 나타낼 수 있습니다 : 0,1, …, 15. 음의 지수를 허용하려면 가능한 값의 (대략) 절반을 음의 지수를 의미하는 것이 좋습니다. 지수에 7을 더하면 -7, -6, …, 0,1, …, 8 값을 표현 가능한 범위에 매핑합니다. two “의 보완 을 찾아 볼 수도 있습니다.

댓글

  • 따라서 7을 더하면 -7, -6, …,-1을 해당 양수 값에 매핑하고 7보다 큰 값을 추가하면 범위를 벗어난 값이 나오며 잘못된 값이됩니다. 같은 이유로 7 미만을 더하면 지수는 ' 문제를 해결하지 않습니다. 감사합니다. ' 원하는 것을 찾았습니다.
  • 다른 숫자를 추가하면 지원하는 음수와 양수 지수가 변경됩니다. ' 설계 결정입니다. -1 만 지원하면 애플리케이션에 충분할 수 있습니다.
  • 예 , 맞습니다. 이것은 강사가 가이드를 통해 구현 한 설계 결정이며 ' 엄격한 제약 조건이 아닙니다.
  • 오프셋 사용 결정 2 ' 대신 IIRC를 보완하는 것은 가장 작은 값의 역을 가장 큰 값보다 작게 유지하는 것이 었습니다. lue, 즉 오버플로를 방지합니다. 즉, 신중하게 선택되었습니다.
  • @KWillets : 오프셋은 또한 0을 0으로 표현할 수 있으며 부동 소수점 숫자를 비교하기 위해 정수 비교를 사용할 수 있습니다 (부호 비트 제외)

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다