컴공 일기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를 선물하세요.
-
썩어빠진세상의마지막이과이기때문이아닐까
-
1. 환산식 자체가 미적에게 불리하게 설계되었다는 이유가 궁금함 그러고 확통이...
-
대학 다니면 수능생각이 안나는것도 맞고 존나드는것고 맞는듯.. 0
그냥 모든환경이 입시를 벗어나서 전공과 졸업후의 어쩌고를 얘기하니까 나도 그 템포에...
-
인스타나 만들까 8
그런 거 하다가 수트레스 쌓일까봐 안했는데 흠
-
20km 내에 있는 오르비언 만나기 << 클릭
-
스테이씨 배수민? 닮았는데 모 오르비 호감고닉이 생각나면서....눈 몇 번...
-
고1 3모 국어 1컷 "76" 당시 우리학교 국어 전교 1등 "89"점 이 해에...
-
모 커뮤 보고 하는 말임
-
ㅈㄱㄴ내아는동생의친구의고양이의친구의주인의언니의언니 이야기임
-
어떻게 협력하실건가요
-
22수능 첫 통합수능과 선택과목 체제 역대급 불수능 국어 논란 성불하지 못한 가형...
-
옵치골플님들 4
딜 13000 힐 11000꽃은 아나 바티보다 힐 22000 꽃은 메르시가 더...
-
진학사에서 대부분의 대학 커트라인이 작년이랑 올해랑 너무 다른데 정상인가요? 과기대...
-
이제 뭐하지 4
공부하기시름
-
이런거 잘 몰라서 현우진 김승리 풀커리 타려고 했는데 망하는 길인가?
-
수특과 n제 둘다 기출아닌 문제들인데 n제 풀듯이 수학 수특 옛날거 푸는거...
-
네이버뉴스 보니 수능 가채점 만점자수 두자릿수라는데 6
이거 뭐임뇨? 진짜면 역대급 물수능 아님뇨?
-
이정도면 공대 어느정도 ㄱㄴ한가요..? 이과 중에 수학만 이렇게 나온 성적은 본적이...
-
어떤 종류의 문제집인가요?
-
수분감이나 마플..? 고민중
-
인도의 대치동 9
코타라는 도시인데 저기 사는 백만명의 인구 대부분이 학생과 강사임 도시자체가 거대한 시대인재임
-
%를 보면서 자기 꿈과 진로가 저절로 막 바뀌게 됨 ㅋㅋㅋ 시를 써볼까 아니면 스페인 유학을?
-
모고 1등급 놓친 적 없고 고3 모고도 비슷하게 보는 예비고3이고 수험생활 동안...
-
수학 미적 vs 기하 선택 너무고민됩니다 도와주세요ㅠㅠㅠ 2
약대, 수의대 목표로 공부하고 있습니다. 그동안 시험보면서 수학이 도저히 100점은...
-
설대가능 할까요 작년과 비교시 국수표점낮아져서 가능하다지만 진학사에는 400이상...
-
누가 뭐래도 난 물지 12
-
예를 들어 설뱃 의뱃 냥뱃 이렇게 갖고 있었는데 설뱃만 남기고 냥뱃 의뱃만 없애는...
-
수능 난이도, 표본, 별다른 입시 변화 이슈 없음 거의 유일하게 논란 없었던 게...
-
동창들 보니까 정말 많이 달라져 있구나...
-
다같이 사탐런하고 대학갑시다
-
히힣 0
취릅비 ㅎ
-
생2지2... 한번찍맞해볼까
-
https://orbi.kr/00070242615 여러분들의 의견이 궁금합니다
-
대치동에서 황금세대 취급받던게 04고 골짜기세대 취급받은게 06인데 의반들이 컷을...
-
피램,마닳,매3비,마더텅,자이? 중에 어떤걸 할까요? 그리고 하루 독서,문학...
-
컴공 일기252 3
한 번쯤은 생각해 볼 법한 예제라서 가져왔습니다. C를 한 번이라도 배워보셨던 분은...
-
인강 첨듣는데 강민철 김동욱쌤중에 고민중입니다. 꼭 기초커리(강기본,수국김)부터...
-
1. 인도는 종교에 따라 다른 민법체계가 작동한다 2. 인도에서는 상류층일수록...
-
원점수는 47이었다
-
예비고3이고 내신은 3.0이고 모의고사는 백분위 94뜨는데 정시힐까요? (31211)
-
그 세계는 유토피아가 될까요 디스토피아가 될까요?
-
현역 정시파이턴데 확통 기하 둘중에 정하질 못하겠어요.. 확통은 경우의 수도 너무...
-
이과들도 사탐런을 많이 하는 추세고 표본은 당연히 고여갈텐데 당연히 평가원은 변별을...
-
올해 물1생2응시했고 설공 걸고 반수 할건데 물1 뭘로 바꿀까요
-
나이를 먹을수록 세상이 아름답지 않은것같음..
-
실채 뜨면 할랬는데 너무 심심함 남들 점수라도 구경해야겠음 혹시 작년 합격표본 점수...
-
3페이지 이내로 줄이기.
-
걍 당일 집 와서 바로 복기하긴했는데 까보니까 존나 다른거...
이런 공부는 무슨 책으로 어떻게 하면 될까요?
주로 컴퓨터구조 전공 서적이나, C 전공 서적을 참조하시면 공부할 수 있습니다. 추가적으로 여기에 사용되었던 부호화된 2의 보수법이나, 부호비트, 비트연산 같은 경우는 논리회로라는 과목으로도 충분히 커버할 수 있는 내용이지요. 한빛미디어에서 나온 <디지털 논리회로> 책을 한 번 일별해보시는 것도 추천드립니다.
양이 워낙 방대하긴 하지만, 쭉 읽다 보면 컴퓨터라는 게 어떤 방식으로 작동하게 되는지 개략적으로 알 수 있을 겁니다.
감사합니다!!