-
[문제해설] 10진수 14.5를 IEEE 754 표준 32비트의 단일정밀도 형식으로 표현할 때, 지수(exponent)는 얼마인지 쓰시오.전자계산기조직응용기사/실기 필답형 기출문제 해설 2021. 9. 30. 14:00반응형
전자계산기조직응용기사 실기 필답형 기출문제 (데이터 표현) - 2020년1회
10진수 14.5를 IEEE 754 표준 32비트의 단일정밀도 형식으로 표현할 때, 지수(exponent)는 얼마인지 쓰시오.
- 문제 해설 -
컴퓨터가 산술 자료, 즉 숫자를 표현하는 방법에는 크게 고정소수점 방식과 부동소수점 방식이 있습니다.
고정소수점은 부동소수점과 대비하여 말할 때 사용되는 용어로 '부호화된 2진수'라는 표현이 더 익숙합니다.
부동소수점은 실수를 표현하기 위해, 0보다 작은 수를 효율적으로 표현하기 위한 방법입니다.
이때 지수(指數, exponent)를 활용하게 되는데, 일반 수학에서의 예를 살펴보겠습니다.
위의 예는 10진수 -12.345를 지수를 사용해 부호와 소수점 자릿수를 표현하는 예입니다.
-1의 지수는 0일 때는 +1이 되고, 1일 때는 -1이 됩니다. 1개의 비트로 부호를 표현할 수 있습니다.
10의 지수는 소수점의 위치를 나타낼 수 있습니다. 위의 예에서는 2이므로 소수점은 가수의 2번째 수 뒤에 위치합니다.
IEEE(Institute of Electrical and Electronics Engineers)에서 이런 부동소수점(floating point) 표현 방식을 표준화한 것이 IEEE 754입니다.
IEEE 754는 사용 비트에 따른 여러 가지 방식과 명칭이 있지만, 3가지만 살펴보면 다음과 같습니다.
C언어에서는 시스템마다 차이가 있지만,
float 자료형은 단일 정밀도(Single-Precision), double 자료형은 배정밀도(Double-Precision)에 대응합니다.
32bit 단일정밀도(Single-Precision)로 각 비트를 표현하는 방법은 다음과 같습니다.
1. 부호(Sign) 비트
1비트로 구성되며, 0일 때 양수, 1일 때 음수
2. 지수(Exponent) 비트
8비트로 구성되며, bias값(0111 1111, 16진수로는 7F)을 실제 지수에 더함.
*bias(바이어스)는 상당히 다양한 의미를 가지고 있지만, 대략 의도적인 기준이나 값 등을 의미합니다. 여기서는 8비트로 표현되는 값의 중간값입니다. 즉, 앞부분의 비트(0000 0000 ~ 0111 1111)는 사용하지 않고 1000 0000부터 사용하겠다는 의도로 더해주는 값입니다.
3. 가수(Fraction) 비트
23비트로 구성되며 1.xxx... 형식의 소수점(xxx...)을 좌측부터 넣고, 나머지는 0으로 채움.
그럼 위의 방법으로 문제에서 주어진 십진수 14.5를 IEEE 754의 32비트 단일 정밀도로 표현해보겠습니다.
우선 IEEE 754는 2진수이기에 10진수 '14.5'를 2진수로 변경하면 '1110.1'입니다. 이를 지수 형식으로 표현하면,
위의 식에서
부호 비트는 -1의 지수는 0입니다.
지수 비트는 10의 지수인 3을 2진수로 변경하여 bias와 더합니다. 그럼 11 + 0111 1111 = 1000 0010입니다.
가수 비트는 1101의 오른쪽층을 0으로 채워 23비트로 구성하면 '11010000000000000000000'이 됩니다.
이렇게 구한 비트들을 순서대로 나열하면,
문제에선 지수(exponent)만을 묻고 있으니, 정답은 10000010입니다.
https://youtube.com/playlist?list=PLboXycXmAIDt4ObBRPVj29BuD2d27oRnO
반응형'전자계산기조직응용기사 > 실기 필답형 기출문제 해설' 카테고리의 다른 글
[문제해설] 다음 논리식 Y=A'B'+AB'+AB 식을 간소화 하시오. (0) 2021.10.03 [문제해설] 디스크 입·출력 요청 대기 큐에 다음과 같은 순서대로 기억되어 있다. 현재 헤드가 50에 있을 때, 이들 모두를 처리하기 위한 총 이동거리는 얼마인가?(단, FCFS 방식을 사용한다) (0) 2021.10.02 [문제해설] 다음의 회로는 무슨 회로인가? (0) 2021.09.27 [문제해설] 5비트 정보 10110을 짝수 패리티 해밍코드로 변환 하시오. (0) 2021.09.26 [문제해설] 4X8Kbit를 갖는 Memory 소자를 조합하여 128KByte 기억용량을 얻으려면 최소 몇 개의 Memory 소자가 필요한가? (0) 2021.09.24