unsigned int에 관하여 궁금한 것이 있습니다.
두루
unsigned int에 관하여 궁금한 것이 있습니다.질문 요약 :unsigned와 signed 관련 질문입니다.질문 내용 :
예제파일 중에서
#include stdio.h
main()
{
int i;
unsigned int u;
u = 33000;
i = u;
printf(%d %u, i, u);
}
이런 것이 있는데,
unsigned int로 표현되는 33000의 비트형태는 signed로 -32536이기 때문에
실행하면 -32536 33000이라고 출력 된다고 하는데
실행 해보면 33000 33000이 나옵니다.
아무리 봐도 책 그대로 했구요.
왜 그런지 알려주세요~
-
힘찬
근본적인 것은 변함이 없지만.. 사람이 사용하는 언어가 변하듯.. 프로그램 언어도 변하고 있죠..
예를 들어 예전엔 구조체끼리 대입 연산자 사용하는 게 불가능했지만.. 현재는 가능 하죠.. -
유라
그렇군요.. 제가 갖고 있는 책이 2권있는데 둘다 10년 전쯤에 나온 책인데
이걸로 공부해도 큰 상관은 없나요? -
Isolation
예전에 16 비트 운영체제에서는 short 와 int 가 동일한 사이즈를 가졌죠..
현재 32 비트 운영체제에서는 특별한 경우를 제와하고는 int 와 long 이 동일한 사이즈를 갖습니다.. -
지은
short로 바꾸니까 되네요^^
완전히 이해를 못하고 예제를 따라하다보니 책이 잘못 나오거나 하면 막히게 되네요 ㅠ..
책의 5분의 1정도 밖에 안했는데 벌써 {가 하나 빠져있다던가, 이런 사소한 문제가 3개나
있네요; 빨리 훑어보고 다른 C책으로 넘어가야 겠습니다.
알기 쉽게 해설한 C라는 책인데, 기초 책이라길래 이걸로 70%정도씩만 이해하면서
쭉쭉나가고 C프로그래밍의 이해라는 책으로 넘어가려구요..
아무튼 ㅎㅎ 답변 감사합니다^^