본문 바로가기

컴퓨터구조

최신 컴퓨터 구조: 2장 연습문제

728x90
반응형

1. 다음 등식이 성립되도록 기수 r을 구하시오.

(a) B1_(r) = 144_(10)

r = 13

(b) 211_(r) = 152_(8)

r = 7

(c) 436_(r) = 357_(10)

r = 9

(d) 4B7(r) = 2CB_(16)

r = 12

 

2. 2차 방정식 x^2 - 11x + 22 = 0의 해가 x=3과 x=6이다. 이때 기수가 얼마인지 계산하시오.

기수를 p라고 했을때,

두 근의 합이 십진법으로는 9이지만 p진법으로는 11,

두 근의 곱이 십진법으로는 22이지만 p진법으로는 22이다.

즉, p+1 = 9, 2*p+2=18이다.

합과 곱을 만족하는 p는 8이다.

 

3. 12비트의 신호를 동등한 값의 아날로그 신호로 변환할 수 있는 기능이 있는 CD 플레이어가 있다.

(a) 이 CD 플레이어에서 사용될 수 있는 최솟값과 최댓값을 16진수로 나타내시오.

12비트의 최솟값은 모든 비트가 0인 경우로 0이다.

최댓값은 12비트의 모든 비트가 1인 경우로 16진수로 FFF이다.

(b) 이 CD 플레이어가 나타낼 수 있는 서로 다른 아날로그 신호 값은 몇 개인가?

12비트의 신호 값을 가질 수 있으므로 2^12 = 4096개의 아날로그 신호 값을 나타낼 수 있다.

 

4. 다음 10진수를 8비트의 1의 보수와 2의 보수로 나타내시오

(a) +18

2진수: 0001 0010

양수는 1의 보수나 2의 보수를 사용하지 않음

(b) +115

2진수: 0111 0011

(c) +79

2진수: 0100 1111

(d) -49

2진수: 0011 0001

1의 보수: 1100 1110

2의 보수: 1100 1111

(e)-3

2진수: 0000 0011

1의 보수: 1111 1100

2의 보수: 1111 1101

(f) -100

2진수: 0110 0100

1의 보수: 1001 1011

2의 보수 : 1001 1100

 

5. 10의 보수를 이용하여 다음을 계산하시오.

10의 보수를 이용하여 계산하는 방법

1) 먼저 각 숫자의 10의 보수를 구한다. 10의 보수는 10에서 숫자를 빼면된다.

2) 빼려는 수의 10의 보수를 구한 후, 더하고 10의 보수를 다시 뺀다.

(a) 5255 - 2363

= 5255 + (10의 보수(2363) = 7637) + 1

= 5255 + 7638

= 12894

자리 올림 버림으로 답: 2894

 

(b) 1756 - 5632

= 1756 + 4368 + 1

= 6125

= 10000 - 6125

= -3876

 

(c) 200 - 600

= 200 + 9400 + 1

= 9601

= 10000 - 9601

= -399

 

(d) 1300 - 260

= 1300 + 9740 + 1

= 11041

= 1041

 

(e) 632 - 563

= 623 + 437 + 1

= 1072

= 72

 

(f) 856 - 965

= 856 + 9035 + 1

= 9892

= 10000 - 9892

= -108

 

6. 다음 물음에 답하시오.

(a) 16진수 C3DF의 16의 보수를 구하시오.

15 - C = 3, 15 - 3 = C, 15 - D = 2, 15 - F = 0

15의 보수 : 3C20

16의 보수 : 3C21

(b) C3DF을 2진수로 변환하시오.

1100 0011 1101 1111

(c) (b)의 결과를 2의 보수로 바꾸어 보시오.

2진수 1100 0011 1101 1111

1의 보수: 0011 1100 0010 0000

2의 보수: 0011 1100 0010 0001

(d) (c)의 결과를 16진수로 바꾸고 (a)의 결과와 비교하시오.

(c)의 결과를 16진수로 바꾸면 3C21, (a)의 결과는 3C21로 두 수는 같다.

 

7. 10진수는 2진수 IEEE754 부동 소수점 수로, IEEE 754 부동 소수점 수는 10진수로 변환하시오.

(a) 236.6

236의 2진수 1110 1100

0.6의 2진수 0.10011001...

정규화시 1.110 1100 10011001... * 2^7

부호 1비트 가수 8비트 지수 23비트

부호 :

양수 이므로 부호 비트는 0

 

가수 :

bais = 2^8, 127이므로

127 + 7 = 134

134의 2진수는 1000 0110

 

지수 : 110110011001...

 

결과: 0 10000110 110110011001...(23비트만큼)

(b) -0.05

-0.05 = 0000110011001100110011001... = -1.100110011001100.... * 2^-5

부호(1비트) = 1 (음수)

지수(8비트) = -5 +127(bias) = 01111010

가수(23비트) = 10011001100...

답: 1 01111010 100110011001100...

 

(c) 1/32

(d) -(1/128)

 

(e) 0 10011010 01001000000000000000000

부호 1비트 가수 8비트 지수 23비트

부호: 0으로 양수

지수: 10011010(2) = 154(10), 154 - 127 = 27이므로, 2^27로 알 수 있음

가수 = 1.0100100000000.... 

27만큼 가수에서 소수점 이동 하면

1.0100100000000... * 2^27 = 1010010000... (27개만큼 소수점 뒤로 감), 소수점 앞에 1이 나오는 이유는 IEEE754 부동 소수점 표현시 1을 생략해서 표현하므로 10진수로 바꿀때 1을 넣어줘야됨

= 171966464

 

(f) 1 01111001 11010000000000000000000

부호: 1(음수)

지수 : 01111001 = 121 - 127(bias) = -6

가수 : 11010000000000000000000

 

- 1.11010000000000000000000 * 2^-6 = -0.0000011101

=-0.283203125

 

아 안해 씌팔

 

8. 4비트로 10진 코드를 만들 때 가중치가 다음과 같은 경우 10진 코드를 만들어 보고, 이 코드가 자기 보수 코드인지를 판별하시오.
(a) 4 3 1 1

(b) 6 3 1 1 

(c) 6 4 2 1

반응형