학교 수업/디지털논리회로

[디지털논리회로] 연습문제 1장, 2장 레포트

five-sun 2021. 12. 22. 22:38
728x90

연습문제 1

 

아날로그 신호는 시간에 따라 연속적인 값을 갖는 신호이다. 예시로는 온도와 소리등이 있다. 반면 디지털 신호는 분명하게 구별되는 이산적인 신호값을 갖는 신호이다.

 

*1주차 동영상 강의를 통해서 학습하였다.

 

4. (1) 64bit = 8byte (2) 1024 = 128byte (3) 8byte = 64bit (4) 1Kbyte = 8,192bit (5) 32Kbyte = 32,768byte (6) 64Mbyte = 67,108,864byte (7) 6.4Gbyte = 6,871,947,674byte

 

* 1byte = 8bit, 1Kbyte = 1024byte, 1Mbyte = 1024Kbyte, 1Gbyte = 1024Mbyte 이다. 숫자가 커져서 계산기를 통해서 답을 구해냈다.

 

5. 8비트

 

*2진수로 측정하는 명암정도를 4비트로 하였을 때 0000~1111로 값을 가졌다면 2^4개의 값을 가질 수 있을 것이다. 따라서 254가지의 명암 정도를 구분하기 위해서는 0000(검은색), 1111(흰색)을 더한 256가지의 명암을 구분할 수 있도록 (2^8 = 256) 8개의 비트가 필요하다고 생각한다.

 

6.14

 

*300만 화소에 R,G,B가 각각 8비트씩 한 화소에 저장 된다면 300만 화소에 카메라의 한 장은 72,000,000 비트를 차지한다. 그렇다고 하였을대 1M2^20 = 1,048,576 128MB이므로 128을 곱하면 134,217,728 추후 1Byte8bit 이므로 다시 8을 곱하면 1,073,741,824 이 수를 72,000,000으로 나누면 14.9130...이 되므로 약 14장이 저장될 수 있다고 생각한다.

 

8. 주기 = 9, 주파수 = 111KHz, 듀티사이클= 67% 이다.

 

*주기는 쉽게 눈으로 찾을수 있고 주파수는 전파나 음파가 1초 동안에 진동하는 횟수. 즉 이렇게 구할 수 있다. f=1/T = 1000/9 999KHz 라고 할 수 있다. 듀티사이클은 주기 T에 대한 펄스폭의 비를 백분율로 정의 한 것이기 때문에 D= t/T = 6/9 67%라고 할 수 있다.

 

9. 주파수 = 4KHz, 듀티사이클 = 10%이다.

 

*8번의 풀이와 동일하게 주파수는 1000/250 = 4KHz이고 듀티사이클은 25/250을 백분율로 바꾸면 10%가 된다.

 

 

 

연습문제 2

 

1. (1),(2) 전기적 신호로 의미를 전달할 수 있는 가장 간단한 방법이 2진수 이기 때문입니다. 하지만 0 또는 1을 한 개의 비트로 사용하는 2진수만을 사용하기엔 굉장히 긴 문장을 필요로 하기때문에 8진수와 16진수를 사용합니다.

 

*온라인 강의를 통해 학습한 기억을 갖고 답안을 작성하였습니다.

 

2. (1) 892 = 1101111100(2) = 1574(8) = 37C(16)

(2) 783.8125 = 1100001111.1101(2) = 1417.64(8) = 30F.D(16)

(3)48.3515625 = 110000.0101101(2) = 60.264(8) = 30.5A(16)

(4)0.0078125 = 0.0000001(2) = 0.004(8) = 0.02(16)

(5)52.7578125 = 110100.1100001(2) = 64.604(8) = 34.C2(16)

(6)47.9 =101111.1110011001100...(2) =57.7146...(8) = 2F.E66...(16)

 

*이 문제의 경우 모든 문항에 소수점 아래의 숫자가 존재해서 2진수로 변환하는데 상당히 오랜 시간이 걸렸다. 10진수를 2진수로 변환할 때 소수점 위의 수는 2로 계속 나누어 나머지를 계산하고 소수점 아래의 수는 2를 곱하여 1 이상이 될 때는 1, 1 이하일 때는 0을 대입한다. 이 과정 이후 8진수와 16진수로 변환할 때는 소수점 첫 번째 자리부터 3, 4개씩 끊어서 변환 해주면 된다. 개수가 모자랄 때는 오른쪽 끝에 0을 필요한 개수만큼 추가하면 된다.

(6)번 문항의 경우 2진수로 변환 시 무한히 1100이 반복된다. 이 점을 발견하고 답을 기록하였다. (공학용 계산기를 활용함)

 

5.


10진수 2진수 8진수 16진수
10진수 225.225 11100001.001110011... 341.163... E1.39...
2진수 215.75 11010111.11 327.6 D7.C
8진수 403.984375 110010011.111111 623.77 193.FC
16진수 10949.8125 10101011000101.1101 25305.64 2AC5.D

 

*위 문제는 차레로 10진수, 2진수, 8진수, 16진수를 각각 주어주고 이를 다른 진수로 바꾸어 보는 문제였다. 10진수, 8진수, 16진수를 2진수로 바꿀 수 있다면 크게 어려운 문제는 아니였다. 하지만 숫자가 큰 수도 존재하고 소수점 아래로 무한히 반복하는 수도 존재해 계산기와 직접계산을 모두 사용하여 문제를 해결하였다. 해결 방법은 2장 연습문제 2번과 동일하다.

 

7. (1)최솟값: 000(16) , 최댓값: FFF(16) (2) 4096

 

*n개의 비트로는 2^n 가지의 정보 표현이 가능하다고 학습했다. 따라서 (2)번의 질문은 2^12 = 4096이 정답이고, 4096개의 정보 표현 중 가장 작은 값은 000, 가장 큰 값은 4095이다. 이를 16진법으로 변환하면 최솟값 : 000, 최댓값: FFF가 되는 것이다.

 

 

8. (1) 11010101 (2) 00101011 (3) 11100010 (4) 00100010 (5) 01111111 (6) 11010110

 

*8비트 2진수를 1의 보수로 먼저 바꿔야 하는데 01, 10으로 바꿔준다. 그 후에 2의 보수로 다시 바꿔주는 과정이 필요한데 1을 더해주면 간단하게 2의 보수로 바꿀 수 있다.

 

9. 15비트의 정수표현 범위는 2^14-1 ~ -(2^14) 16383 ~ -16384까지 이다.

 

*n개의 비트의 2진수 표현 범위는 2^(n-1)-1 ~ -2^(n-1)까지라고 온라인 강의를 통해 학습한 기억을 갖고 답안을 작성하였습니다.

 

10. (1) +18 00010010, 00010010 (2) +115 01110011, 01110011

(3) +79 01001111, 01001111 (4) -49 11001110, 11001111

(5) -3 11111100, 11111101 (6) -100 10011011, 10011100

 

*주어진 10진수의 수를 일단 2진법으로 바꾸어 표현한다. 그 후 10진수의 수가 음수일 경우 위에서 사용한 1의 보수로 바꾸는 방법, 2의 보수로 바꾸는 방법을 (10진수의 수가 음수일 경우에만) 사용해 준다.

 

13. 음수를 표현할 때, 2의 보수를 더 선호하는 이유를 웹서핑을 통해 찾아보았다.

 

*결론은 1의 보수를 사용하였을 때보다 문제가 덜 발생하였으며 문제 해결을 위해서 연산이 덜 필요하다는 것이었다.

 

14(mod2). (1) 10101010 = -86, (3) 01010101 = 85, (5) 0.10101 = 0.65625

(7) 7736(8) = 4062 (9) 3203(4) = 227 (11) A289B(12) = 212087

(13) 839C(16) = 33692

 

*(1)번의 문제는 2진법 음수를 10진법으로 바꾸는 문제였기에 2의 보수를 취한 후, 부호를 앞에 달아주었다.

(3)번의 문제는 2진번을 10진법으로 바꾸는 문제이기에 크게 힘들지 않았다.

(5)번의 문제는 소수점 아래의 2진법을 10진법으로 바꾸는 문제이기에 2^(-n)과 같이 각 자리에 맡는 수를 대입한 후 분수 형태로 나온 값을 계산하여 처리하였다.

(7)번의 문제는 8진법으로 표현된 수였으므로 각 자리에 맡게 8^n을 잘 곱하여 더하였다.

(9)번의 문제는 4진법으로 표현된 수였으므로 각 자리에 맡게 4^n을 잘 곱하여 더하였다.

(11)번의 문제는 12진법으로 A10, B11를 대입하고 각 자리에 맡게 12^n를 잘 곱하여 더하였다.

(13)번의 문제는 16진법으로 C12를 대입하고 각 자리에 맡게 16^n을 잘 곱하여 더하였다.

진법과 값의 수가 커짐에 따라 계산기를 활용하여 좀 더 빠르게 답을 구할 수 있었다.

 

 

 

15(mod2). (1)78 34 = 01001110 + 11011110 = 00101100 = 44

(3) -56 34 = 11001000 + 11011110 = 10100110 = -90

(5)98 59 = 01100010 + 11000101 = 00100111 = 39

 

*X+(-Y)꼴로 계산을 위해서 음수인 것들을 2의 보수로 처리하여 구한 후 2진법 덧셈을 하였다. 그 후 결과가 음수가 나오면 다시 2의 보수 처리한 후 음수 부호를 붙여주었다.

 

 

 

 

 
728x90