3장
연습문제
(1) 1. 0001 0000 0100
2. 0010 0111 0101
3. 0011 0110 1001
4. 0101 0100 0111
5. 0001 0000 0101 0010
6. 0010 0110 0011 1001
BCD코드는 10진수 0부터 9까지를 2진화한 코드로 실제 표기는 2진수지만 10진수처럼 사용한다. 즉 1010부터 1111까지 6개는 사용하지 않는다. 각자리에 해당하는 10진수를 그대로 2진화한 값이다.
(2) 1. 80
2. 237
3. 346
4. 754
5. 1683
6. 6667
2진수로 이루어진 BCD코드를 4자리씩 끊어서 수를 계산한 후 1, 10, 100, 1000 자리에 각각 집어 넣어준다.
(3) 1. 7 = 0111
2. 7 = 0111
3. 51 = 0101 0001
4. 123 =0001 0010 0011
5. 419 = 0100 0001 1001
6. 452 = 0100 0101 0010
각문항의 10진수 값을 BCD코드로 변환한 후 덧셈을 한다. 단 계산 결과가 BCD코드를 벗어날 때, 즉 9를 초과하는 경우에는 계산 결와에 6(0110)을 더해준다.
(4) 3초과 코드, 2421 코드, 84-2-1 코드, 51111 코드
자기 보수 성질을 가지며 현재 값에서 1의 보수를 취하면 10진수에서 9의 보수에 해당하는 값이 된다.
(6) 5. 10010101010(2) = 1101111111(G)
11, 0011111000010010(2) = 0010000100011011(G)
17.11100101011100(G) = 10111001101000(2)
2진 코드를 그레이 코드로 변환하는 방법
= 최상위비트(MSB)는 그대로 내려쓰고, 그 다음 그레이 비트부터는 앞의 2진 비트와 그 다음 2진 비트를 비교하여 같으면 0, 다르면 1을 내려쓴다.
그레이 코드를 2진 코드로 변환하는 방법
= 최상위비트(MSB)는 그대로 내려쓰고, 그 다음부터는 생선된 2진 비트와 그레이 코드를 비교하여 같으면 0, 다르면 1을 내려쓴다.
(8) 3행과 4열이 만나는 비트에서 에러가 발생하였다.
병렬 패리티에서 1의 개수가 각 행과 열에서 모두 홀수이여야 한데, 3행과 4열의 1의 개수가 짝수이다. 그러므로 3행과 4열이 만나는 0비트에서 에러가 발생하였다.
(11) 1. 0100 0111 = G
2. 0100 1110 = N
3. 0011 0110 = 6
4. 0101 0010 = R
16진수를 2진수로 변환한 후 존비트와 디지트 비트를 나눈다.
존비트를 확인하여 디지트 비트가 표현하는 유형과 범위를 파악한 후 디지트 비트가 표현하는 문자를 구했다.
(12) 1. 100100111(2)
2. 0010 1001 0101(BCD)
3. 0110010 0111001 0110101(ASCII)
1. 10진수 295를 2진수로 변환하는 법은 지난 1,2장에 배운방법을 사용하여 나타내었다.
2. 10진수 295를 BCD코드로 변화하는 법은 10^2자리에는 2를 2진수로, 10^1의 자리에는 9를 2진수로, 10^0의 자리에는 5를 2진수로 변환하여 나타내었다.
3. 10진수 295를 ASCII코드로 변환하는 법은 BCD코드와 비슷하다. BCD코드 앞에 011 이라는 존 비트를 추가하여 나타내었다.
(15) 6bit
52장에 카드에 규칙을 정하여 2진 코드를 할당할 경우 최소 6bit을 사용하여야한다고 생각한다.
기출문제
(3) ㉱
BCD 코드는 10진수 0부터 9까지를 2진화 코드로 실제 표기는 2진수지만 10진수처럼 사용한다. BCD 코드는 4개의 비트에서 왼쪽부터 차례대로 8, 4, 2, 1의 가중치를 갖는다.
(8) ㉮
0001=1, 0010=2, 0011=3, 0100=4 이렇게 표현한다.
(13) ㉱
1234(8)을 10진수로 변환하면 8^3*1 + 8^2*2 + 8^1*3 + 8^0*4 = 668이며, 이를 8421 코드로 변환하면 0110 0110 1000 이 된다.
(18) ㉯
3초과 코드는 말 그대로 8421 코드에 3을 더한 코드이다.
(23) ㉰
1100=12, 0101=5, 0001=1, 1011=11인데 3초과 코드는 0~9에 범위에 3을 더하며 만든 코드이기 때문에 3~12가 범위가 된다.
(28) ㉮
ring counter code는 총 10개의 비트로 각 자리마다 오른쪽부터 0~9를 뜻하는 비트이다.
(33) ㉯
gray code는 연속적인 코드는 오차의 비율을 줄일 수 있고, 2진 코드와 그레이 코드 간의 변환도 비교적 간단하게 처리할 수 있으므로 좋은 입력 시스템이 된다.
(38) ㉮
2진 코드를 그레이 코드로 변환하는 방법
= 최상위비트(MSB)는 그대로 내려쓰고, 그 다음 그레이 비트부터는 앞의 2진 비트와 그 다음 2진 비트를 비교하여 같으면 0, 다르면 1을 내려쓴다.
1001(2) = 1101(G)
(43) ㉯
그레이 코드를 2진 코드로 변환하는 방법
= 최상위비트(MSB)는 그대로 내려쓰고, 그 다음부터는 생선된 2진 비트와 그레이 코드를 비교하여 같으면 0, 다르면 1을 내려쓴다.
1101(G) = 1001(2)
(48) ㉯
10진수 6을 2진 코드로 바꾸면 0110이 된다. 0110의 3초과 코드는 0110 + 0011 = 1001이고 이것을 gray code 로 변환하면 1101이 된다.
2진 코드를 그레이 코드로 변환하는 방법
= 최상위비트(MSB)는 그대로 내려쓰고, 그 다음 그레이 비트부터는 앞의 2진 비트와 그 다음 2진 비트를 비교하여 같으면 0, 다르면 1을 내려쓴다.
4장
연습문제
(1)
3입력 AND게이트는 입력이 모두 1일 때 만 출력파형도 1로 출력되기 때문에 그림과 같이 구하였다.
(3) W = D·S′·I
문제가 요구하는 논리회로 W는 운전자가 승차한 상태(D) , 안전벨트를 매지 않은 상태(S′), 시동을 건 상태(I)를 필요로 하므로 위와 같이 답을 구하였다.
(6)
A입력과 B입력은 AND게이트에서 만난 후 C입력과 OR게이트에서 만나는 논리회로이다.
F₁= A·B를 구한 후 F₂=F₁+C를 통해서 다음과 같은 답을 구할 수 있다.
(7) 0과 1처럼 서로 다른 신호로 조합하여 입력해보면 게이트의 유형을 파악할 수 있다.
OR게이트는 서로 다른 신호 0, 1이 만나면 1로 출력되지만 AND게이트는 0으로 출력된다.
(8)
AND게이트와 OR게이트를 통과한 출력파형 F를 보고 입력파형 B를 유추해 볼 때 주의해야할 부분들을 먼저 체크하고 각각 그려보았다.
AND게이트는 입력이 모두 1일 때만 출력이 1인 점을 유의하였고, OR게이트는 입력이 모두 0일 떄만 출력이 0인 점을 유의하였다.
(11)
3입력 NOR게이트는 3가지의 입력파형이 모두 0일 때 1로 출력이 되므로 모두 0인 부분을 먼저 체크한 뒤 출력파형을 구했다.
(15)
입력중 하나가 1이거나 모두 1일 경우 출력이 1이 되는 XOR게이트의 진리표를 바탕으로 출력이 1이 되어야하는 부분을 먼저 체크하고 출력파형을 구하였다.
기출문제
(2) ㉯
4장에서 shift에 대한 내용은 배우지 못하였고, 기본적인 논리연산자는 AND, OR, NOT이라고 학습하였다.
(6)㉯
3상태(tri-state)버퍼는 3개의 레벨(Low, High, 하이 임피던스)중 하나의 출력으로 갖는 논리소자이다. 제어단자 E는 입력단자 A와 출력단자 F 사이의 회로의 개폐하는 역할을 한다.
(10) ㉮
AND 연산을 사용하면 모두 1이지 않는 경우 0으로 만들기 때문에 특정 비트 또는 특정 문자를 삭제하기 위해 필요한 연산으로 적합하다.
(14)㉰
A=10011001 과 B=11100100이 OR연산으로 만난다면 A와B 둘다 0이 아닌 경우 1로 출력 되기 때문에 11111101로 출력될 것이다. 그래서 C=11111101 이다.
(18) ㉱
그림과 같은 스위칭 회로가 동작하기 위해선 두 개의 스위치 중 하나가 닫혀있거나 두 개의 스위치 모두 닫혀있어야 하기 때문에 OR 논리 회로이다.
(22) ㉰
6개의 입력이 0또는 1이므로 2^6=64가지의 조합이 나올 수 있는데 이 중 6개의 입력이 모두 0인 경우 1가지를 빼면 OR게이트는 모두 1로 출력하기 때문에 63가지의 출력이 High 출력이 나온다.
(26) ㉰
보기에서 보여주는 진리표를 보면 3입력 모두가 1인 경우에 0이 출력되고 나머지는 0이 출력 되고 있다. AND게이트와 반대의 출력을 보여주고 있으므로 NAND게이트가 정답이다. NAND게이트의 논리 기호는 AND 게이트에 NOT을 추가한 것이다.
(30) ㉱
위 문제는 상당히 간단하게 해결할 수 있다. ㉮의 보기인 OR게이트가 두 입력이 0과 1일 때 출력이 1이 나오므로 NOR게이트는 두 입력이 0과 1일 때 출력이 0이 된다.
(34) ㉰
위 문제도 4장에서 학습한 진리표들을 잘 기억하고 있다면 간단하게 해결할 수 있다. 두 입력이 0과 1처럼 서로 다른 신호일 때 1을 출력하는 게이트는 XOR게이트 이다.
(38) ㉱
다음과 같은 진리표가 출력 되므로 XOR 회로와 같다고 할 수 있다.
'학교 수업 > 디지털논리회로' 카테고리의 다른 글
[디지털논리회로] 연습문제 1장, 2장 레포트 (0) | 2021.12.22 |
---|