entiers 64 bits et operateurs sur les bits
bonjour,
je voudrais pouvoir utiliser les operateurs sur les bits : <<,|,&, sur des entiers de 64 bits (jeu d'echec) pour faire des masques...
bref, tous ces operateurs ne fonctionnent pas au-dessus de 32 bits, ci-dessous un code d'exemple : 1<<34 est affiché comme 0.
Comment s'en sortir, si-possible de maniere la plus portable possible (linux...)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
int main(int argc, char *argv[])
{
unsigned __int64 n=0;
n|=(1<<34);
printf("%I64x\n",n);
system("PAUSE");
return 0;
} |