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 : Sélectionner tout - Visualiser dans une fenêtre à part
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;
}