강의

멘토링

로드맵

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

송영진님의 프로필 이미지
송영진

작성한 질문수

홍정모의 따라하며 배우는 C언어

0.10 이진수

8비트 2진수 변환시 왜 1을 더해야하나요?

작성

·

3

0

보수로 변환한 뒤, 더하기 1을 하는게 잘 이해가 안됩니다.

혹시 왜 더하기 1을 해야하는지 알 수 있을까요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 송영진님.

2진수에서 값을 부호 있는 숫자로 변환하거나 마이너스로 바꿀 때, 2의 보수라는 개념을 사용합니다. 추가적으로 설명드리면:

  1. 2의 보수 개념: 2진수의 값을 반대로 바꾸고(0을 1로, 1을 0으로) 1을 더하는 과정을 통해 부호를 바꿉니다. 이는 컴퓨터가 음수 연산을 효과적으로 처리할 수 있도록 해주는 방법입니다.

  2. 이유: 2의 보수를 사용하여 음수를 표현하면, 덧셈과 뺄셈 연산을 동일한 방식으로 처리할 수 있게 되어 효율적인 연산이 가능해집니다. 이러한 방식은 프로세서의 구조와 연관이 깊습니다.

  3. 예시: 만약 4비트 체계에서 5를 음수로 변환하고자 한다면, 2진수로 0101을 반전하여 1010을 만들고 여기에 1을 더하여 1011을 만들면 -5를 표현할 수 있게 됩니다.

관련된 질문을 다룬 게시물을 참조하시면 도움이 될 수 있습니다:

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

송영진님의 프로필 이미지
송영진

작성한 질문수

질문하기