inflearn logo
강의

講義

知識共有

[CS技術面接1] 言葉が開けるコンピュータ構造

実数の表現:浮動小数点、実数保存の例

부동소수점에서 음수 지수를 위한 범위 표현 방식

解決済みの質問

129

southgyuios19

投稿した質問数 7

1

음수 지수 때문에 지수부분 범위를 -127에서 128로 범위가 잡혀 있던데 원래는 이전 강의 시간에서 배운대로 8bit로 표현될 수 있는 범위가 -2의n-1승 ~ 2의n-1승 - 1로 -128~127사이 아닌가요?

컴퓨터-구조 computer-science

回答 1

1

yiyj10305235

안녕하세요, southgyuios19님.
말씀해주신 -128 ~ 127 범위는 정수를 저장할 때 사용하는 2의 보수 방식입니다.

반면, 부동소수점의 지수부는 대소 비교를 빠르게 하기 위해 바이어스(bias) 방식을 사용합니다.
8비트를 0~255의 양수로 간주하고, 실제 값을 구할 때는 127을 빼는 식으로 계산합니다.

즉, 2의 보수가 아닌 바이어스 방식을 쓰기 때문에 달라진다고 생각해주시면 됩니다.

앞으로도 학습 중 궁금한 점은 언제든 질문해 주세요!

0

southgyuios19

답변 감사합니다. 보수 방식과 바이어스방식이 있어서 달라졌다는 걸 인지했습니다. 근데 특별하게 127을 빼는 이유가 있나요?

0

southgyuios19

그리고 실제로 값을 뺀다는 것이 컴퓨터가 실제로 연산할 때 말하는건가요? 저희가 바이어스 방식으로 127을 더해줬던 걸 컴퓨터가 127을 다시 빼서 계산하는건가요?

1

yiyj10305235

(1) bias 값이 127인 이유
https://en.wikipedia.org/wiki/Exponent_bias
bias 계산에 대해 참고할만한 문서를 가져왔습니다.

If there are E bits in the exponent, the bias is typically set as b=2^(E−1)−1

위와 규칙에 기반하여 bias 값을 결정하게 된다고 합니다. 즉 E=8일때 b=127입니다.

그럼에도 southgyuios19님이 질문해주신 "왜 하필 127일까? 128이면 안될까?"에 대한 답변으로는 부족한 것 같아 조금 더 찾아보니,

128을 bias로 사용하면 표현할 수 있는 지수부의 범위가 [-128, 127]가 됩니다.
127을 bias로 사용했을 때의 지수부 범위 [-127, 128]와 비교하면 표현 가능한 최대 양수 값이 더 작습니다.
이것으로 미루어보아 127로 결정한 것은,
즉 bias 값으로2^(E−1) 이 아닌 2^(E−1)−1 을 선택한 것은,
범위를 극대화하기 위한 선택이라고 볼 수 있을 것 같습니다 :)

추가)
위 링크에 나와있는 내용인데, [-127, 128] 범위에 해당하는 양 끝 값인 -127, 128은 특별한 값으로 취급되기 때문에 좀 더 정확한 범위를 표현하자면 [-126, 127]이 된다고하네요! 이 부분은 추후 강의 내용에도 보완해보겠습니다.

 

(2) 값을 뺀다는 것의 정확한 의미

알고계신 것이 맞습니다!

값 저장 시: 바이어스를 더함
ex. 지수가 -3일 때 -3+127=124가 메모리에 저장됩니다.
이렇게 양수로 만들어서 저장하게 되면 값의 대소 비교가 더 빨라질 수 있습니다.
2의 보수 변환 과정없이 즉각적인 비교가 가능하기 때문입니다.

연산 시: 바이어스를 뺌
ex. 컴퓨터의 연산장치가 저장된 값 124를 읽어와서 124-127=-3을 복원합니다.
이 -3을 사용하여 실제 계산을 수행합니다.

 

 감사합니다

1

southgyuios19

성의있는 답변 진심으로 감사합니다. 덕분에 모든 궁금증이 풀렸습니다. 감사합니다!

3강 질문

0

18

1

2강 nodejs 3단계 설명 질문

0

33

1

scanf("%d\n") 의미

0

20

1

네트워크 전체 흐름 복습 질문

0

29

2

주소 연산자(&) 간접 지정자(*) 반대 개념

0

33

1

강의 만료일 연장 신청

0

33

2

Virtual Memory, Memory, Memory mapping tables

0

52

1

127을 더하는 이유?>

0

62

2

샘플코드 출력 오류 발생 질문드립니다

0

64

2

DHCP 동작 과정 그림의 DHCP ACK에서 질문이 있습니다.

2

80

2

강의자료 pdf파일

0

89

2

값의 교환에 사용되는 변수의 위치.

0

89

2

워크북 질문 중에서 질문이 있습니다.

1

99

2

수강기간변경

0

75

2

TCB에 대한 설명은 없는것 같은데 이유가 있을까요?

0

97

2

메모리 비교에 관한 질문

0

82

2

주소에서 &기호 질문

0

36

1

부록:인터뷰 연습 에서..

1

92

2

5:20 오타 발견했습니다

1

78

2

즉시 주소 지정 방식에서의 파이프라이닝 동작

0

89

2

그림(제어 버스) 내 화살표 오류 문의

1

106

1

CPU-명령어 처리 흐름

1

150

2

컴퓨터의 숫자 표현 - 실수 예시에서 부호 비트 부분 오타인가요?

1

146

2

컴퓨터 구성요소 시스템 버스 사진

1

157

1