unsigned long long int의 출력
글쓴이: Bini / 작성시간: 토, 2005/04/16 - 11:41오전
sdl라이브러리를 윈도우에서 설치할일이 있어서 msys, mingw를 설치하고 sdl소스를 받아서 컴파일하고 인스톨했읍니다.
심심풀이로 다음과 같은 코드를 짰는데 msys상에서 gcc로 컴파일했는데 결과가 이상하네요? 아주예전에는 c를 사용했지만,
지금은 거의 사용하지 않는관계로 뭐가 뭔지...
unsigned long long int형의 범위내의 값인것 같은데....
#include <stdio.h>
int main(void) {
unsigned long long int i;
i = 23456789123LLU;
printf("===> %llu", i);
return 0;
}
===> 1981952643
Forums:
23456789123 => 0x5762232830x7622328
23456789123 => 0x576223283
0x76223283 => 1981952643
정확하게 뒷부분 4바이트만 처리가 됐군요.
의심은 컴파일러 아니면 C 라이브러리 일 것 같은데
일단 컴파일러가 정상적으로 지원하는지 여부 부터 확인을 하시는게 좋을 듯 합니다.
이런 코드를 이용해 정상적으로 결과가 출력되는지 테스트 해보시면 어떨까요?
댓글 달기