드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
비쥬얼 시플플 질문좀 ㅠ (쉬운건데 독학중이라 몰라서...)
게시물ID : computer_27586짧은주소 복사하기
작성자 : 늬
추천 : 0
조회수 : 427회
댓글수 : 9개
등록시간 : 2011/12/22 17:03:06
-----------------------------------------------------------------------
#include <stdio.h>
short max=32767;
int main (void)
{
printf("%d\n", max + 1);
max = max+1;
printf("%d\n", max);
return 0;
}
------------------------------------------------------------------------
short가 2의보수로 -32768 ~ 32767 까지 아닌가요 ?? (2byte 니깐...)
위에 실행하니깐 위에것은 32768, 아래것은 -32768이 나옵니다.
제 생각대로면 둘다 -32768이 나와야될것 같은데 위에것은 왜 저렇게 나오나요 ?
저의 생각
0111 1111 1111 1111 (=32767 2진수 2의보수로 나타낸 값)
* 0000 0000 0000 0001 (= +1 )
= 1000 0000 0000 0000 (=-32768 인데.. 분명히 ㅜ)
혹시 Visual C++에서는 short도 4byte로 인식하는건가요 ? 책에서는 int가 2,4byte로 개발도구마다 다르다곤하는데 short는 공통적으로 2byte라고 했습니다.
프로그래밍이 제대로 된건가요 ? 아니면 제가 잘못알고있는건가요 ?
댓글 분란 또는 분쟁 때문에
전체 댓글이 블라인드 처리되었습니다.
새로운 댓글이 없습니다.