게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
비쥬얼 시플플 질문좀 ㅠ (쉬운건데 독학중이라 몰라서...)
게시물ID : computer_27586짧은주소 복사하기
작성자 :
추천 : 0
조회수 : 421회
댓글수 : 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라고 했습니다.

프로그래밍이 제대로 된건가요 ? 아니면 제가 잘못알고있는건가요 ?
              
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호