논리회로 김재호 교수님 과제.
- 2015.03.21. 10:18
- 2516
독강하는 학생입니다..
수업시간에 제대로 못 들었는데.. 과제 저렇게 하는거 맞는지 궁금해서 과제한거 일부를 사진과 같이 올립니다..
뺄셈 연산한 결과하구, 그에 대한 오버플로 진리표 일부인데 저렇게 하는거 맞는지요..?!

오버플로 맨 윗 행(값 입력하지 않은 행) 전부다 규칙상으로 보면 0인거 같은뎁...
헷갈리는게.. 예를 들어 0100 - 0000 의 경우 0100 + [(1)0000] = [(1)0100]
여기서 연산 결과가 맨 앞비트 (1) 발생하면 뺄셈의 경우 오버플로가 아니라고 책에 나와있더라구요.
근데.. 빼는 수 - 0000을 2의 보수 연산(비트 반전하고, 1더하기)해서 발생하는 추가 자릿수(1)도 같이 연산에 포함시키는게 맞는건지.... 이게 좀 헷갈리네요..
0100 - 0000 = 0100 + 0000 = [(0)0000] ~> (0) 오버플로 발생.
4비트니까 애초에 연산할 때 0000 2의 보수 연산해서 발생하는 초과비트는 더할 때 연산을 안하는 것 일 수도 있지 않나 싶은데...
근데 이건 또 아닌가 싶은게.. 아래 테이블과의 규칙성 따져보면 오버플로 발생 안한다는 결론이 나오거든요..
다들 과제 어떻게 하셨는지.... 의견좀 부탁드려요..
아 참.. 뒤늦게 궁금증 생긴건데. 이거 17X17 표 4개 다 그릴려면 엄청 귀찮고 빡실거 같아서요..ㅠㅠ
교수님께서 과제 양식도 지정해 주시던데..과제 수기로 작성해야 하는건지.. 다들 수기로 하시는지요..?
이 댓글을 삭제하시겠습니까?
[허약한 금목서]님의 댓글을 신고합니다.
0100 - 0000 = 0100 + 1111 + 1 = (1) 0111 ~> 오버플로 발생X
금목서님 말씀처럼.. 연산전 취하는 보수연산은 책 자세히 보니까 오버플로 적용하지 않고, 0000 비트 반전 후 1을 전체적으로 더해 버리던데.. 저 식의 경우 저렇게 보는게 맞는건지요..
이 댓글을 삭제하시겠습니까?
[글쓴이]님의 댓글을 신고합니다.
A-B는 A+(B의 2의보수)로 되죠?
B의 2의 보수를 만드는 방법은 B의 1의보수 + 1 이고, B의 1의보수를 만드는 방법은 B와 1111을 XOR하면 됩니다. 이 값을 B'이라고 하면 A-B는 A+(B')+1이 되는거죠. 1은 4비트 전가산기에서 Cin으로 넣어주면 되는거구요.
글로 설명하니까 조금 어려울 수도 있는데, 결론은 회로적으로 계산하는 과정이 A+B(반전)+1이기 때문에 책에서 저렇게 설명한 것 같네요.
이 댓글을 삭제하시겠습니까?
[허약한 아까시나무]님의 댓글을 신고합니다.
이 댓글을 삭제하시겠습니까?
[허약한 아까시나무]님의 댓글을 신고합니다.
이 댓글을 삭제하시겠습니까?
[태연한 미나리아재비]님의 댓글을 신고합니다.
이 댓글을 삭제하시겠습니까?
[허약한 금목서]님의 댓글을 신고합니다.
이 게시물을 삭제하시겠습니까?






4비트에서 보수연산을 취한다음 덧셈연산에서오버플로우를 넣는걸로 알고있어여
김재호는..수기과제하면공부는 확실히 됩니다