채널톡 아이콘

인프런 커뮤니티 질문&답변

pine71n님의 프로필 이미지

작성한 질문수 1

개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제

0과 1로 숫자를 표현하는 방법

보수랑 플래그 관련해서 질문드립니다

해결된 질문

작성

·

98

0

다른 분들 질문을 보고 답변을 보았는데요

https://www.inflearn.com/community/questions/813583/%EC%9D%8C%EC%88%98-%EB%8D%B0%EC%9D%B4%ED%84%B0%EC%9D%98-%ED%91%9C%EC%8B%9C%EC%97%90-%EA%B4%80%ED%95%98%EC%97%AC

위의 답변을 보면 보수 표현을 하면 덧셈 뺄셈 연산이 더 단순하다고 되어 있는데요

 

사진 처럼 보수를 사용하지 않고 어짜피 플래그가 있다면 같은자리끼리 계산하기가 더 편할 거 같아서요

2의 보수를 사용하여 1 1 1 + 0 0 1 을 보고 바로 0이 된다고 계산이 쉽지 않을 것 같아서요

image.png

 

 

답변 2

0

강민철님의 프로필 이미지
강민철
지식공유자

안녕하세요

질문 감사드립니다

아래 AI 인턴 답변이 제대로 된 것 같습니다.

플래그를 사용하지 않을 경우 덧셈 회로만 있으면 되기 때문에 더 효율적이라

2의 보수를 사용하는 것입니다.

 

만일 2의 보수를 사용하지 않을 경우,

가령 12- 9 라는 연산이 있을 때 (뒤의 -를 플래그로 처리한다고 해도)

12와 9를 빼는 연산 회로가 추가로 필요할 수 있습니다.

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다.

pine71n님께서 질문하신 주제는 2의 보수 표현 방식과 플래그 활용에 관한 중요한 부분입니다. 2의 보수는 컴퓨터에서 음수를 표현하고 연산을 간소화하기 위해 사용되는 방법인데요. 양수와 음수 간의 덧셈에 2의 보수를 사용하면, 실제로는 뺄셈이 이루어져 결과를 구하게 됩니다.

2의 보수 사용의 이유

  1. 일관성 있는 연산: 2의 보수를 사용하면 모든 연산을 덧셈으로 통일할 수 있습니다. 덧셈과 뺄셈 모두 덧셈으로 처리하게 되므로, 더 적은 회로로 다양한 연산이 가능해집니다.

  2. 플래그 처리: 덧셈 과정에서 오버플로우나 언더플로우 같은 상태는 플래그 비트를 통해 처리됩니다. 플래그는 연산 결과의 상태(예: Carry, Zero, Overflow)를 알려주게 되어, 애초에 지정된 연산 범위를 초과했을 때의 처리를 담당합니다.

  3. 간단한 하드웨어 구현: 실제 논리 회로 설계 시, 2의 보수를 사용해 연산을 단순 덧셈으로 통일하는 것이 하드웨어 구현을 쉽게 만들어 줍니다. 덧셈기만으로 임의의 뺄셈을 수행할 수 있으니, 수학적으로나 공학적으로나 더 유리합니다.

질문에서 언급하신 질문 URL에서도 유사한 내용이 다루어지고 있습니다. 위 사진에서 보이는 것처럼, 2의 보수를 사용하여 연산한 결과가 0이 되는 과정은 실제로 많은 시스템에서 표준 방식으로 자리 잡고 있습니다.

이런 방식은 현대 컴퓨터 아키텍처의 기본이 되는 부분이므로 깊이 이해하고 계시면 큰 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.