컴공 일기253
게시글 주소: https://orbi.kr/00070242684
한 번쯤은 생각해 볼 법한 예제라서 가져왔습니다. C를 한 번이라도 배워보셨던 분은 한번 풀어보셔도 괜찮아 보이네요.
int main()
{
unsigned int num1 = -1;
unsigned char num2 = -1;
printf(“%d %d”, num1, num2);
}
정답은 -1 255가 됩니다.
서식지정자 %d의 작동 메커니즘과 부호 비트에 관해 어느 정도 상세히 알아야 풀 수 있는 문제입니다.
unsigned int는 기본적으로 부호비트가 없는 32비트이고 부호화 2의 보수법에 의거해 2진수로 나타내면
num1 = 1111…11((32개)가 됩니다. 다시 말해 실질적으로 num1에 들어가는 값은 -1이 아닙니다.
-1을 부호화 2의 보수법에 의거해 2진수로 나타내면 1111….1(32개)인데, unsigned int라는 형에 의해 마지막 1이 부호비트로 해석되지 않아 2^32-1이 최종적인 값으로 num1에 대입됩니다.
마찬가지로 unsigned char는 8비트이므로 num2 = 111..1(8개) = 255가 되겠지요.
여기까지 생각한다면 결괏값은 2^32-1 255가 되어야 할 것 같지만, 함정이 하나 더 있습니다.
서식지정자 %d의 메카니즘.
%d라는 서식지정자는 32비트 2진수를 10진수(decimal)로 재해석해서 콘솔에 출력하라는 의미입니다.
그런데, 여기서 %d에서는 부호비트를 적용하게 되지요.
즉 1111…1(32개) = -1이 되어 출력됩니다.
그렇다면 8비트짜리는요? 32비트 10진수를 출력해야 하는데.. 24비트가 부족하게 되지요. 그렇다면 형식에 24비트를 채워야 합니다. 어떤 방식으로 채워야 할까요? 기존의 8비트짜리 변수가 음수라면 1을 채우고, 양수라면 0을 채웁니다.
111..1(8개) = 255이고, 이 자체가 양수로 평가되므로 %d 서식지정자에 의해 000…011111111이 num2에 해당하게 됩니다. 마지막 비트에 해당하는 부호비트가 0이므로, 255가 그대로 출력되게 됩니다.
아주 간단한 예제지만, 컴퓨터 구조를 꽤 정확하게 알고 있어야 도출할 수 있는 예제가 되겠군요.
0 XDK (+0)
유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.
-
폰바꿀때가되긴햇는데... 0 0
문제는돈이1도없다는거임...
-
여름방학부터 국어 시작하려는데 괜찮은 컴팩트한 커리 추천좀 해주세요 0 0
기출0회독임 언매고 3등급 문여는 실력인데 어케 하는게 좋을지 추천좀 해주세요...
-
• 28수능을 목표로 공부하는 제대군인을 가르치게 되었어요 • 현역 당시 확통...
-
대장내시경 무습다 4 2
담주에해야되는디
-
그게 나야 바 둠바 두비두밥~ ^^
-
프사 바꿈 1 1
ㅇㅇ
-
난 열등감 덩어리임 8 2
미소녀여고생이 아닌 것에 열등감 느껴짐
-
여기 귀여운 사람들 많은데 3 1
다 도망갔네요
-
공부 6시간밖에안햇는데 6 2
진지하게 체력바닥났다는거임 대학교와서 집중력 퇴화했다는거심..
-
국어 수특 1 0
이미 풀었어야 하나요??
-
이거들어바 0 0
굿
-
명령하지 마라 6 4
난 나보다 약한 자의 말은 듣지 않는다
-
이코치 반수 더 코어 비문학 같이 들으실 분 구함(최소 3명~최대5명) 0 1
같이 들으실 분 구함니다 2027학년도 7모 전까지 연락주십쇼 현재 0명
-
.
-
뻥임 8 2
ㅎㅇ
-
얼리버드 기상 ! 9 3
씻고 곤부하러 가야지...
-
옯스타 8 2
@itsyehhh 갑니다 ㅂㅂ
-
멘헤라 똥삼키기 11 3
꿀꺽
-
꺼드럭 1 0
꺼드럭
-
설뱃들은 이 숫자만 바라본다지 8 1
5511 5513 5515 5516
-
절망비탄좌절우울
-
폐활량 훨씬좋아진거같네
-
체르노빌에서 키운것같음 ㅋㅋㅋㅋㅋㅋㅋㅋ
-
수특 수행평가 8 0
고3 언매쌤이 수행으로 언매 독서 문학 수특 다 풀고 오답도 꼼꼼하게 해서 내라고...
-
까불지마라 2 2
주제를알아라잡종
-
생윤 안 맞는 사람 있음 2 1
생윤사문이 메이저인데 안 맞을 것 같아서 다른거 할까 고민
-
저 이제 코노갈 거임! 1 1
과제랑 시험은 안 끝났지만 그렇게 할 거임~~ 부를 노래...
-
아으든든하이 좋노
-
설입 두끼에서 보자 4 1
설입엔 두끼가 없어
-
둘중 하나만 하려고 해요 모고만 풀어보고 싶은데 문제퀄 어느게 좋은가요?
-
화작 조언좀 0 0
2등급 중반대에서 안 움직이고 화작 1~2틀이 계속 나오는데 기출을 봐야함 아님...
-
빤스 훔친 의대생 ㄷㄷ 0 0
학교어케다니냐
-
다시 누군가를 만나서 2 1
결국 우리 사랑 지워내도
-
현우진 강기원 저격ㄷㄷ 0 1
어그로 죄송합니다. 미적분이 뭔가 불안해서 vod로 강기원t 미적 시즌1 들을까...
-
오르비 퀭님 컨셉인가요 2 1
찐인가요 아무튼 귀엽습니다
-
겐세이 넣지마 씨발러마 6 1
니 새끼 신경 쓸 시간 없다
-
미래가 만족스럽지 않구나 4 1
칫
-
ebs 연계 관련 질문입니다 2 1
6,9모에 연계된 소재는 수능에 안나오나요?? 예를 들어, 6모 국어에 연계된...
-
공부하기 10일차 4 1
후 미쳐버렷읍니다 으읍 공부할개요. <<자칭 맨헤라 오르비 퀭님 따라하기ㅋㅋㅋㅋ
-
아 왤케 초콜릿 땡기냐 3 0
편의점 초콜렛 추천 좀 해조바바
-
나 술 사줘 8 1
밥은 내가 살게
-
코노가서 부를거 보지맛 22 3
흰눈 천상연 내 여자라니까 기억의 습작 오래된 노래 Pretender 짝사랑 벌써일년 발걸음
-
프사 느낌없음 6 1
그래서 걍 이걸로 바꿈
-
앞자리의 고딩커플은 얼굴을 가슴에 파묻고 아양을 떠는데 10 4
홀로 콜라나 홀짝이며 싸이버거를 먹는 내 모습이 어찌 처량하지 않으리오
-
기요미 3 2
서로가 서로를 베고 자고잇음
-
자르반 성장속도 개빠르네 3 0
저게 4살이라고?
-
오공완 3 2
오늘은 8시간 10분 함
-
진도 거의 한 달 전에 끝냈는데 그 뒤로는 루팡
-
맘스터치 이거 패스트푸드 맞냐 2 0
15분동안 안나오는데 이건 슬로우푸드 아닌가
-
지2 고수님들 질문이요 2 0
모든 외행성은 순행일때 항상 단위시간당 태양보다 적경증가량이 작다 — 이거...

이런 공부는 무슨 책으로 어떻게 하면 될까요?
주로 컴퓨터구조 전공 서적이나, C 전공 서적을 참조하시면 공부할 수 있습니다. 추가적으로 여기에 사용되었던 부호화된 2의 보수법이나, 부호비트, 비트연산 같은 경우는 논리회로라는 과목으로도 충분히 커버할 수 있는 내용이지요. 한빛미디어에서 나온 <디지털 논리회로> 책을 한 번 일별해보시는 것도 추천드립니다.
양이 워낙 방대하긴 하지만, 쭉 읽다 보면 컴퓨터라는 게 어떤 방식으로 작동하게 되는지 개략적으로 알 수 있을 겁니다.
감사합니다!!
컴공주님 혹시 그 책 완독하셨나요? 방학때 전공 대비로 공부해보려 하는데, 혹시 읽어보셨다면 후기 적어주신다면 감사하겠습니다
문제가 워낙 방대해서 문제를 다 풀진 않았습니다만, 내용 같은 경우는 완독했습니다. 다름이 아니라, 수업에서 채택한 교재였어서 아무래도 디테일하게 읽을 수밖에 없었죠.
다만, 시험이 아닌 공부적 관점에서는 헷갈리거나 모르는 것들 위주로 발췌독하는 것이 좋을 듯 합니다. 논리회로 특성 상, 컴퓨터 구조와 연관성이 아주 긴밀하기 때문에 컴구에서 회로적 관점에서 헷갈리는 부분이 있을 때 자주 발췌해서 봤죠.