unsigned long long 8바이트 데이타 쓰기(수정)

chochobobo의 이미지


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변수에 들어갈거 같은데

안들어가네요. --;;
컴파일시 문제가 생기네요.

그냥 일반적인 방법으로는 안되는 거였나요?

너무 기본적인거라 묻기 참 부끄럽습니다만.

그래도 고견들 부탁드리며 묻습니다.

오늘하루 행복하세요.

서지훈의 이미지

그냥 봐서는 전혀 에러가 날게 없는데...
컴파일 환경과 에러 메세지를 보여 주세요.

<어떠한 역경에도 굴하지 않는 '하양 지훈'>

#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);

익명 사용자의 이미지

a = 0xFFFFFFFFFFFFFFFFll;

익명 사용자의 이미지

소문자 엘 두개에요..

chochobobo의 이미지

님 정말 감사요.

ㅜ.ㅜ

맞다 그거였다...

아 또 인생이 허무해지네요.

chochobobo의 이미지

직접해보니깐

컴파일 에러는 안나지만

결과는 똑같이

a 00000000FFFFFFFF

이렇게 나오는데요.

뭐가 문제길래.. 어헉.

--;;

peccavi의 이미지

chochobobo wrote:
직접해보니깐

컴파일 에러는 안나지만

결과는 똑같이

a 00000000FFFFFFFF

이렇게 나오는데요.

뭐가 문제길래.. 어헉.

--;;

%llx(엘엘) 로 찍어줘야 합니다..

%lld 나 %llx 처럼요..

----
jai guru deva om...