Manipuler des entiers en 64 bits

Dernière mise à jour le 18 novembre 2009 à 13:19 par marlalapocket
Publié par kilian

Manipuler des entiers en 64 bits


En C, un entier traditionnel non signé sur 32 bits ne peut pas dépasser la valeur de 4 294 967 295.
Il se peut que vous soyiez amenés à manipuler des nombres plus grands et pour celà vous aurez besoin des
entiers codés sur 64 bits. Toutefois, ce type ne se manipule pas toujours de la même façon qu'un entier ordinaire. En effet, les constantes entières et l'affichage de ces nombres ne sont pas définis de la même façon.

Entiers 64 bits non signés


Type: unsigned long long
Formatage pour l'affichage: %llu
Suffixe pour définir une constante: ULL

Exemple:
//Affecte la valeur 4294967296 dans a
unsigned long long a = 4294967296ULL;
//Affiche cette valeur
printf("%llu", a);

Entiers 64 bits signés


Type: long long
Formatage pour l'affichage: %lld
Suffixe pour définir une constante: LL

Exemple:
//Affecte la valeur 4294967296 dans a
long long a = 4294967296LL;
//Affiche cette valeur
printf("%lld", a);

Pourquoi un suffixe bizzare pour définir une valeur constante?


Si vous essayez ceci par exemple:
unsigned long long a = 4294967296

Votre compilateur vous répondra que ce nombre est trop large pour le type "long". C'est à dire un entier sur 32 bits. Les constantes ont ce type par défaut. Au final, cette notion est directement liée à l'architecture des processeurs 32 bits. Un registre 32 bits de processeur est limité et votre compilateur essaiera par défaut de caser les nombres dans un seul registre. Mais avec un suffixe comme LL et ULL, votre compilateur stockera votre nombre sur 2 registres, c'est à dire sur 64 bits, ce qui laisse une capacité beaucoup plus grande.
Meilleures réponses pour « Manipuler des entiers en 64 bits » dans :
Télécharger Pilote Nvidia GeForce pour Windows Vista 64 bits Voir Pilote Windows Vista 64 bits certifié WHQL pour les GPU des séries GeForce 6, 7, 8 et 9 : GeForce 9800 GX2 GeForce 9800 GTX GeForce 9600 GT GeForce 9600 GSO GeForce 8800 Ultra GeForce 8800 GTX GeForce 8800 GTS 512 GeForce 8800 GTS ...
32 ou 64 bits - Comment savoir ? Voir Vous voulez savoir si votre Windows est en 32 ou 64 bits ? Méthode 1 Méthode 2 Méthode 3 (Vista et 7) Méthode 1 Démarrer Exécuter Saisir winver puis OK. Regarder dans le bandeau en haut de la fenêtre. S’il n’est pas mentionné...
Télécharger Pilote Nvidia GeForce pour Windows XP 64 bits Voir Le pilote GeForce pour Windows XP 64 bits supporte les fonctionnalités suivantes : Certifié WHQL pour Windows Vista Prise en charge des GPU GeForce GTX 280 et GeForce GTX 260. Prise en charge des technologies à un GPU et NVIDIA SLI sur...
Conversion d'un nombre entier 32 bits en IP VoirConversion d'un nombre entier 32 bits en IP Nombre à convertir : 3265917058 Représentation binaire 11000010 10101001 11110000 10000010 - 3265917058 00000000 00000000 00000000 11000010 - 3265917058 >> 24 ( 194 ) 11000010 10101001 11110000...
Collection CommentÇaMarche.net