강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của southgyuios197009
southgyuios197009

câu hỏi đã được viết

[CS Phỏng vấn kỹ thuật 1] Kiến trúc máy tính dễ hiểu

Biểu diễn số thực: Dấu phấy động, ví dụ lưu trữ số thực

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

Đã giải quyết

Viết

·

83

1

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

컴퓨터-구조computer-science

Câu trả lời 1

1

yiyj10305235님의 프로필 이미지
yiyj10305235
Người chia sẻ kiến thức

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

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

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

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

southgyuios19님의 프로필 이미지
southgyuios19
Người đặt câu hỏi

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

southgyuios19님의 프로필 이미지
southgyuios19
Người đặt câu hỏi

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

yiyj10305235님의 프로필 이미지
yiyj10305235
Người chia sẻ kiến thức

(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을 사용하여 실제 계산을 수행합니다.

 

 감사합니다

southgyuios19님의 프로필 이미지
southgyuios19
Người đặt câu hỏi

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

Hình ảnh hồ sơ của southgyuios197009
southgyuios197009

câu hỏi đã được viết

Đặt câu hỏi