컴공 일기252
한 번쯤은 생각해 볼 법한 예제라서 가져왔습니다. 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를 선물하세요.
-
철학은 형이상학인가요?
-
내 이미지 진짜 이럼? 25
흠.
-
여기 올라온 답은 저랑 답이 너무 달라서 제 답 올려봅니다 1-1 pi/12 ,...
-
공부한 거 올리고 그럴거임
-
탐구끝나고 퇴실시간까지 폰없으면 정신과시간의방이라길래 챙겨갔었는데 퇴실때까지...
-
결국엔 1
어그로 ㅈㅅ 정시 보고 있는데 작년 기준으로 합격 최종이 상위 70퍼센트라는게...
-
학교 내신기출인데 혹시 답이 뭘까요.. 그리고 문화누리카드는 좁은의미의 문화인가요?
-
올해 국어끝나고 진짜 ㅈㄴ시끄러웠고 밥먹고 영어보는데 밖에서 떠드는거 개빡셌음뇨
-
더싸게할분?? 쪽주세요!!‘ㅜ
-
근데 젠가를 세우기 싫으면 어떻게 해야 하냐? 젠가를 언급하지 못하는 분위기를...
-
확실히 이전이랑 운영? 자체가 폼이 달라진듯 올해 좀 기대해봐도 되려나
-
으악 비온다 3
갈려면한참남았는데...
-
23 물리 1컷 46 25 물리 1컷 47~48추정 이게 뭐죠 대체...
-
약대 사탐 Or 과탐 16
ㅈㄱㄴ 사탐 해야할까요 과탐 해야할까요
-
xx대의대 너. 7
내가 눈여겨 보는중.
-
학군지 물리 내신 1등, 교내 물리 경시대회 금상, 고2 학평 물리 올만점인데 수능...
-
옵창 판별해줌 89
댓ㄱㄱ
-
친구만나고옴 0
오랜만에사회적상호작용을 대학로 많이 바뀌었네 1년반만인데
-
올해 시험장에서 현역들이 고군분투할때 한시간 풀고 누워버리는 n수생 한 명을 보면서...
-
이명학 일리? 신택스? 션티 키스타트? 영어 고정1목표인데 뭐듣는게 좋을까요
-
I특) 1
사람들이랑 말할때는 즐거운데 돌아오면 기빨렸다는 걸 느끼고 아무것도 하기 싫음
-
남1자가 자존심이 있지
-
연애할 때 메가커피가서 쿠폰적립받고 통신사할인받아서 아메살 남자 레스토랑말고...
-
2년연속 핵불로내놓고 언제그랬냐는듯 시간끌기도없이 힘빼버리니까..후회하게만드네
-
정시 재수 목표 3
올해 초에 정시한다고 했는데 1월부터 7월까지 허송세월 보내고 6모 66775...
-
찬우T 교재값 0
올해도 비싸려나 풀커리 타면 거의 50만원정도 나오는거 같던데
-
썩어빠진세상의마지막이과이기때문이아닐까
-
1. 환산식 자체가 미적에게 불리하게 설계되었다는 이유가 궁금함 그러고 확통이...
-
대학 다니면 수능생각이 안나는것도 맞고 존나드는것고 맞는듯.. 0
그냥 모든환경이 입시를 벗어나서 전공과 졸업후의 어쩌고를 얘기하니까 나도 그 템포에...
-
인스타나 만들까 8
그런 거 하다가 수트레스 쌓일까봐 안했는데 흠
-
20km 내에 있는 오르비언 만나기 << 클릭
-
스테이씨 배수민? 닮았는데 모 오르비 호감고닉이 생각나면서....눈 몇 번...
-
고1 3모 국어 1컷 "76" 당시 우리학교 국어 전교 1등 "89"점 이 해에...
-
모 커뮤 보고 하는 말임
-
ㅈㄱㄴ내아는동생의친구의고양이의친구의주인의언니의언니 이야기임
-
어떻게 협력하실건가요
-
22수능 첫 통합수능과 선택과목 체제 역대급 불수능 국어 논란 성불하지 못한 가형...
-
옵치골플님들 4
딜 13000 힐 11000꽃은 아나 바티보다 힐 22000 꽃은 메르시가 더...
-
진학사에서 대부분의 대학 커트라인이 작년이랑 올해랑 너무 다른데 정상인가요? 과기대...
-
이제 뭐하지 4
공부하기시름
-
이런거 잘 몰라서 현우진 김승리 풀커리 타려고 했는데 망하는 길인가?
-
수특과 n제 둘다 기출아닌 문제들인데 n제 풀듯이 수학 수특 옛날거 푸는거...
-
네이버뉴스 보니 수능 가채점 만점자수 두자릿수라는데 6
이거 뭐임뇨? 진짜면 역대급 물수능 아님뇨?
-
이정도면 공대 어느정도 ㄱㄴ한가요..? 이과 중에 수학만 이렇게 나온 성적은 본적이...
-
어떤 종류의 문제집인가요?
-
수분감이나 마플..? 고민중
-
인도의 대치동 9
코타라는 도시인데 저기 사는 백만명의 인구 대부분이 학생과 강사임 도시자체가 거대한 시대인재임
-
%를 보면서 자기 꿈과 진로가 저절로 막 바뀌게 됨 ㅋㅋㅋ 시를 써볼까 아니면 스페인 유학을?
-
모고 1등급 놓친 적 없고 고3 모고도 비슷하게 보는 예비고3이고 수험생활 동안...
이런 공부는 무슨 책으로 어떻게 하면 될까요?
주로 컴퓨터구조 전공 서적이나, C 전공 서적을 참조하시면 공부할 수 있습니다. 추가적으로 여기에 사용되었던 부호화된 2의 보수법이나, 부호비트, 비트연산 같은 경우는 논리회로라는 과목으로도 충분히 커버할 수 있는 내용이지요. 한빛미디어에서 나온 <디지털 논리회로> 책을 한 번 일별해보시는 것도 추천드립니다.
양이 워낙 방대하긴 하지만, 쭉 읽다 보면 컴퓨터라는 게 어떤 방식으로 작동하게 되는지 개략적으로 알 수 있을 겁니다.
감사합니다!!