모두의 코드 커뮤니티

1101은 -3이 아닌 13아닌가요??

또한 어떤 수가 음수 인지 양수인지 판단하는 방법도 매우 쉽습니다. 그냥 맨 앞 비트가 부호 비트라
고 생각하면 됩니다. 예를 들어서 1101 의 경우 맨 앞 비트가 1 이기 때문에 음수 입니다. 따라서
이 수가 어떤 값인지 알고싶다면 보수를 구한 뒤에 (1101 –> 0010 –> 0011) - 만 붙여주면 되겠죠.
0011 이 3 이므로, 1101 은 경우 -3 이 됩니다.

라는 선생님의 설명이 있었는데 씹어먹는 C 첫부분에서 이진법을 알려주실때에는
1101 이면 12의3승 + 12의2승 + 0 + 1 로 계산하여 십진법에서 13으로 계산되는거 아니였나요?
윗 글에는 1101 = -3이라고 하셔서 헷갈려요 ㅜㅜ

좋아요 1

네 만일 양의 정수만 표현하는 표기법으로 생각한다면 13 이 맞습니다.

하지만 만일 이 수가 음수/양수를 둘다 표현하는 표기법으로 표현 되었다면 (컴퓨터의 입장에서) -3 으로 생각합니다.