64비트형 정수

Seven..의 이미지

64비트형 정수는 어떤 형을 써야 하고

숫자 뒤나 또는 scanf printf시에는 어떤 접두를 붙여야 하는지요?

__int64 i = 1I64;

scanf("%I64d", &i );

이런 식의 사용이 잘못된 건지요? 윈도우에서는 되서요 ;;

익명 사용자의 이미지

long long int i = 1LL;
scanf("%lld", &i );

Seven..의 이미지

^^ 또 질문 드립니다.
휴.. 이제 겨우 컴파일은 되는데요;;

비트 값을 이용해서 long long int 형의 데이터를 산출할때..

예를들어서

int bit[64] // 여기에 비트값이 0, 1 들어있다고 하면

long long int Ret = 0LL;

for(int i=0; i<64; i++)
{
        if(bit[i] == 1)
                Ret += 1<<i;
}

처음에 이렇게 생각을 했습니다.

그런데 저 쉬프트 연산이 32비트 이후로는 적용이 되지 않더군요;;

저런 경우 64비트 쉬프트는 어떻게 해야 하는지요?

VENI VIDI VICI

sodomau의 이미지

       Ret += 1LL<<i; 

이렇게 하니 되네요.
[/code]