unsigned long long 8바이트 데이타 쓰기(수정)
글쓴이: chochobobo / 작성시간: 월, 2005/04/18 - 1:49오후
main() { unsigned long long a; a = 0xffffffffffffffff; printf("a = %016X\n", a); }
컴파일 경고64bit.c:8: warning: integer constant is too large for "long" type
결과a = 00000000FFFFFFFF
위의 코드가 뭔가가 잘못된건가요?
결과는
0xffffffffffffffff
가 나와야 할건데 반 짤려버리고 남은 부분만 나옵니다.
unsigned long long 는 시스템내에서 8바이트로 잡혀 있구요.
당연히 a변수에 들어갈거 같은데
안들어가네요. --;;
컴파일시 문제가 생기네요.
그냥 일반적인 방법으로는 안되는 거였나요?
너무 기본적인거라 묻기 참 부끄럽습니다만.
그래도 고견들 부탁드리며 묻습니다.
오늘하루 행복하세요.
Forums:
그냥 봐서는 전혀 에러가 날게 없는데...컴파일 환경과 에러 메세지를
그냥 봐서는 전혀 에러가 날게 없는데...
컴파일 환경과 에러 메세지를 보여 주세요.
<어떠한 역경에도 굴하지 않는 '하양 지훈'>
#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);
a = 0xFFFFFFFFFFFFFFFFll;
a = 0xFFFFFFFFFFFFFFFFll;
소문자 엘 두개에요..
소문자 엘 두개에요..
님 정말 감사요.ㅜ.ㅜ맞다 그거였다...아 또 인생
님 정말 감사요.
ㅜ.ㅜ
맞다 그거였다...
아 또 인생이 허무해지네요.
근데..
직접해보니깐
컴파일 에러는 안나지만
결과는 똑같이
a 00000000FFFFFFFF
이렇게 나오는데요.
뭐가 문제길래.. 어헉.
--;;
Re: 근데..
%llx(엘엘) 로 찍어줘야 합니다..
%lld 나 %llx 처럼요..
----
jai guru deva om...
댓글 달기