Mano의 컴퓨터 시스템 구조 문제 및 답
1. 이진수를 십진수로 바꾸어라.
101110 -> 2+4+8+32 = 46
1110101 -> 1+4+16+32+64=21+32+64=53+64=117
110110100 -> 4+16+32+128+256=52+128+256=180+256=436
2. 각 진법의 숫자를 십진수로 바꾸어라.
(12121) 3 -> 1*1+ 2*3+ 1*9 + 2*27 +1*81
(4310) 5 -> 0*1 + 1*5 + 3*25 + 4*125
(50) 7 -> 0*1 + 5*7
(198) 12 -> 8*1 + 9*12 + 1*144
3. 십진수를 이진수로 바꾸어라.
1231 -> 10011001111
1231
615 ..1
307 ..1
153 ..1
76 ..1
38 ..0
19 ..0
9 ..1
4 ..1
2 ..0
1 ..0
0 ..1
673-> 1010100001
673
336 ..1
168 ..0
84 ..0
42 ..0
21 ..0
10 ..1
5 ..0
2 ..1
1.. 0
0 ..1
1998-> 11111001110
1998
999 ..0
499 ..1
249 ..1
124 ..1
62 ..0
31 ..0
15 ..1
7 ..1
3 ..1
1 ..1
0 ..1
4. 십진수를 지정된 진법의 숫자로 바꾸어라.
7562 -> 8진수
7562 -> 2진수 -> 1 110 110 001 011 -> 8진수 ->1613
7562
3781 ..1
1890 ..1
945 ..0
472 ..1
236 ..0
118 ..0
59 ..0
29 ..1
14 ..1
7 ..0
3 ..1
1 ..1
0 ..1
1938 -> 16진수
1938 -> 111 1001 0010 ->792
1938
969 ..0
484 ..1
242 ..0
121 ..0
60 ..1
30 ..0
15 ..0
7 ..1
3 ..1
1 ..1
0 ..1
175 ->2진수
175 -> 111011011
175
137 ..1
118 ..1
59 ..0
29 ..1
14 ..1
7 ..0
3 ..1
1 ..1
0 ..1
5. 16진수 F3A7C2를 이진수와 8진수로 각각 바꾸어라
이진수 -> 1111 0011 1010 0111 1100 0010
011 100 111 010 011 111 000 010
8진수 -> 3472802
6.
16진수 31=3*16+1*1 = 49
11진수 31=3*11+1*1=34
13진수 3*13+1*1=39+1=40
13진수 1*13+0*1=13
답)13진수
7. 215를 다음의 형식에 따라 저장했을 때, 12비트 레지스터의 각 비트값을 보여라
a) 이진수 : 0000 1101 0111
215
107 ..1
53 ..1
26 ..1
13 ..0
6 ..1
3 ..0
1 ..1
0 ..1
b) 이진화된 8진수 : 000 011 010 111 ( -> 0327)
c) 이진화된 16진수 : 0 13 7 -> 0000 1101 0111
d) 이진화된 10진수(BCD) : 0010 0001 0101
8. 295를 다음 형식에 따라 저장하였을 때, 24비트 레지스터의 각 비트값을 보여라
a) 이진수 : 0000 0000 0000 0001 0010 0111
295
147 ..1
73 ..1
36 ..1
18 ..0
9 ..0
4 ..1
2 ..0
1 ..0
0 ..1
b) BCD : 0000 0000 0000 0010 1001 0101
c) 짝수 패리티를 갖는 8비트 아스키 : ?
9. ?
10. ?
11. 9의 보수 구하기
12349876
87654123
00980100
99019899
90009951
09990048
00000000
99999999
12. 6자리 10진수에 대한 10의 보수를 구하여라
123900
876100
090657
909343
100000
900000
000000
000000
* 999999 + 1 = 1 000000. 1은 무시한다.
13. 8자리 이진수에 대한 1과 2의 보수를 구하여라
10101110
01010001
01010010
10000001
01111110
01111111
10000000
01111111
10000000
00000001
11111110
11111111
00000000
11111111
00000000
14. 감수에 대한 10의 보수를 이용하여 다음의 부호 없는 십진수들의 뺄셈을 계산하여라.
a. 5250 - 1321
5250
+ 8679
13929
-10000
= 3929
b. 1753 - 8640
1753
+1360
3113
6887 -> -6887
c. 20 - 100
020
+ 900
920
080 -> -80
d. 1200 - 250
1200
+ 9750
10950
-10000
950
15. 감수에 대한 2의 보수를 이용하여, 다음의 부호 없는 이진수들의 뺄셈을 계산하여라
a.11010 - 10000 26-16 =10
11010
+10000
101010
답 01010
b. 11010 - 1101
11010
10011
101101
답) 01101
c. 100 - 110000 4 - 48 = -44
000100
010000
010100
101100 32 + 12 =44 (-> -44)
d. 1010100 -1010100 = 0000000
1010100
0101100
1 0000000
16. 음수에 대해서 부호화된 2의 보수 표현을 이용하여 산술 연산 (+42) + (-13)과 (-42) - (-13)을 이진수로 계산하여라
풀이) +-42와 +-13을 각각 부호화된 2의 보수에 맞게 표현한 후 더한다.
42
21 ..0
10 ..1
5 ..0
2 ..1
1 ..0
42 = 00101010
-42 = 11010110
13 = 00001101
-13 = 11110011
0010 1010
1111 0011
1 0001 1101-> 1+4+8+16 = 13+16 =29
(-42)-(-13)
-42 + 13
11010110
00001101
11100011 -> 00011101 = -29
18.
(+70)+(+80)
(-70)-(-80)
부호화된 2의 보수 표현을 사용해 2진수로 계산해라.
오버플로우 발생, 마지막 두 캐리가 다르고, 부호의 반전이 발생함을 보여라
19. 음수에 대해 부호화된 10의 보수 표현을 이용해 다음의 산술 연산을 10진수로 계산하여라
a. -638 + 785 =
0638 -> 9361 -> 9362
9362
0785
10147 -> 1무시
b. -638 + -185
0638 -> 9362
0185 -> 9815
9362
9815
19177 -> 1무시, 9177 -> 0823 = -823