컴공 일기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를 선물하세요.
-
왜 땅콩만 먹으면 목이 간지럽지? 이거 때문에 미치겠어서 병원가서 알레르기 검사도...
-
내신 3-1까지 반영한다고 했는데 갑자기 모집요강에서 3-2까지 반영한다고...
-
남자면 어디?
-
한지 화2 2
조합 어떰 정시원서쓰고부터 시작할건데
-
책읽어요 2
재밌을거같아요
-
설대~약수 노린다고 하면
-
현우진 뉴런 0
2025뉴런 못 풀었는데 2026뉴런 새로 사야할까요? 뉴런이 바뀔때마다 개정이 많이 되나요?
-
졸졸졸 강아지 9
귀여워
-
차라리다른강사듣는게좋나요? 가격이부담되서요
-
뷰릇 4
뷰릇
-
상방 뚫으려고 최지욱 들으려는데 어떰요 공통/ 미적 각각 아무거나 후기 알려주삼
-
내가 가장 많이받은게 183갠가 그랬을텐데 넘기기 ㄱㄴ?
-
이건 뭔 기보지 2
????
-
아직 존나 불안하네 에휴
-
목요일에 뭐가 뜬다는 말도 있던데 그건뭐죠 실제 제 성적 확인은 12/6인가요? 몇시인가요
-
네이버 카카페 이새끼들 왜 자꾸 하차엔딩 시킴? 개 빡침
-
[생1 기출/N제 저자] 2026 수능 대비 생명과학1 과외 모집 0
* 자세한 문의는 아래의 링크를 통해 연락 바랍니다....
-
막혔나요? 몇년전까지가능했던걸로 아는데 평가원 이새끼들은 도대체 3-4일전에 이미...
-
긴장도 안 했는데 수능때만 ㅈ망하는 이유는 뭐지 긴장 안 하다가 문제 하나 막히면...
-
영어가 고1 3모가 4등급이 나오는데 기출을 제대로 돌려본 적이 없고 문제 하나에도...
-
미분가능한 함수 f(x)에 대하여 |f(x+1)| + |f(x)-5| lim...
-
현우진 선생님 커리큘럼 가이드 영상 보고 미리 해둘 것을 생각하고 있습니다. 제가...
-
근데 연대 논술 2차 시험 때문에 다시 공부중인데 기출 공부할 때 문제 풀고 인강...
-
제발ㅠ
-
메가 기준으로 화작 백분위 78 확통 백분위 60 영어 3 생윤 백분위 80...
-
플라스틱 조각 공장에 찍어내기만 하면 될텐데 너무 비싸네
-
레벨도 강등 당해야되는데 벌점 제도가 아니라 민간의 자율에 맡겨야됨
-
그냥 이해가 안가서 여쭤봐요 .. 할아버지께서 재수는 극상위권 (의치한약수) 애들만...
-
예를 들어 제가 다풀고 시계를 봤더니 1시 50분이라든지.. 제가 난이도가 쉬울...
-
중2인데 7
본인학교는 시험 국어 영어 빼고 쉬운편임 이번 기말고사 과목 국 영 수 과 역사,...
-
화지에서 화학 버릴 거 같은데 사탐이 뭐가 있고 뭘ㄹ 가르치는지더 몰라서... 어떻게 골라야할까요?
-
공부함뇨 12
오늘부터 휴르비할거고 20일쯤 봅시다
-
HBM대중수출 막혔 ㅋㅋㅋ 이젠 던질란다
-
잔잔한노래 부르는 이미지라 재미없을줄알앗는데 젤재밌었음
-
사탐인데 풀커리는 좀 아닌 것 같고.. 개념만 보고 현돌? 하시던데 다들 어떻게...
-
메가스터디 예비 고3 설명회 서울 자리 남는 사람.. 0
신청 기한을 못 봐서 신청을 못 했는데 끼워주시거나 양도 해 주실 수 있으신 분ㅠ…...
-
학원에서 국어를 강의한 지 얼마 되지 않은 1995년 여름, 지금은 전국에서 유명한...
-
수능까지 n제 40권 실모 100회 수학 푸는 게 목표 ㅇㅇ
-
제가 상근 막차에요 22
2025년부터 대대상근은 안뽑습니다 극소수의 동대상근 위주로만 선발하는 걸로 앎
-
ㅈ됨핑 15
오늘 공부 안함핑
-
이거 과탐 가산점도 계산해서 예측해주는건가요? 그리고 어느정도 믿을만 한가요?
-
사유:사진 찍음
-
내일 딱 2
새벽에 일어나서 추운날 롱패딩 입고 편의점에서 따뜻한 라면을 먹고 기분좋게 학교에...
-
투과목조합에 내신 CC여도 수능1개틀리거나 다맞으면(올해수능기준) 거의붙는수준인가요?
-
[의대면접 MMI 분석] 건양대 의대 면접 - 최저 전형이라고 난이도가 쉽지 않습니다 0
안녕하세요, 의대 MMI 면접 전문 '의대합격 LTP'입니다. 오늘은 건양대 의대...
-
잠옴요 6
잘까
-
가장 인상깊게 읽던게 덴피작가 였나 착각계도 적당히 맛있게 초반부 개그스러운 분위기...
-
어디가 유명하고 좋다 그런 곳 있나요? 생각해보니 정시로 대학 똑바로 가려면...
이런 공부는 무슨 책으로 어떻게 하면 될까요?
주로 컴퓨터구조 전공 서적이나, C 전공 서적을 참조하시면 공부할 수 있습니다. 추가적으로 여기에 사용되었던 부호화된 2의 보수법이나, 부호비트, 비트연산 같은 경우는 논리회로라는 과목으로도 충분히 커버할 수 있는 내용이지요. 한빛미디어에서 나온 <디지털 논리회로> 책을 한 번 일별해보시는 것도 추천드립니다.
양이 워낙 방대하긴 하지만, 쭉 읽다 보면 컴퓨터라는 게 어떤 방식으로 작동하게 되는지 개략적으로 알 수 있을 겁니다.
감사합니다!!
컴공주님 혹시 그 책 완독하셨나요? 방학때 전공 대비로 공부해보려 하는데, 혹시 읽어보셨다면 후기 적어주신다면 감사하겠습니다