Unsigned __int64 et PRINTF

Résolu
BeLZeL Messages postés 110 Date d'inscription mardi 10 octobre 2000 Statut Membre Dernière intervention 20 décembre 2005 - 10 oct. 2004 à 14:49
BeLZeL Messages postés 110 Date d'inscription mardi 10 octobre 2000 Statut Membre Dernière intervention 20 décembre 2005 - 15 oct. 2004 à 21:33
Ce message n'attend pas de réponse. Il est là à titre indicatif. Il aidera les gens qui tomberont dessus via un moteur de recherche.

En effet, j'ai un peu galéré pour trouver comment utiliser le plus grand entier possible, l'entier sur 64bits. Voilà un code source très simple pour l'afficher avec printf. Notez l'utilisation de %I64u, et non de %llu ou %LLu comme je l'ai souvent vu. Ca fonctionne en tout cas sous DevCpp.

#include <stdio.h>

int main(int argc, char *argv[])
{
    unsigned __int64 nb = 0xFFFFFFFFFFFFFFFF;
    printf ( "Base 10 : %020I64u\n", nb );
    // soit 18 446 744 073 709 551 615
    printf ( "Base 16 : %016I64X\n", nb );    
    return 0;
}

5 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
10 oct. 2004 à 15:20
J'ai trouvé: printf ( "Base 10 : %I64d\n", nb );
3
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
10 oct. 2004 à 15:18
Et pour un __int64 signé tu sais comment faire?
0
Hades53 Messages postés 231 Date d'inscription mercredi 12 février 2003 Statut Membre Dernière intervention 7 juillet 2009
10 oct. 2004 à 16:09
Il y a une semaine ça m'aurait été utile, ça m'aurait evité de chercher sur MSDN, mais bon je suis arrivé à la même conclusion que toi (%I64u) sans trop de diffuculté.
0
MetalDwarf Messages postés 241 Date d'inscription mardi 29 octobre 2002 Statut Membre Dernière intervention 23 janvier 2006
12 oct. 2004 à 17:18
Pour le "%llu" ca doit etre la bonne syntaxe sous GCC, parce que pour GCC un nombre 64 bits (sur une machine 32 bits) c est un "long long"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BeLZeL Messages postés 110 Date d'inscription mardi 10 octobre 2000 Statut Membre Dernière intervention 20 décembre 2005
15 oct. 2004 à 21:33
Si je ne m'abuse, DevCpp 4.9.9.0 utilise la version GCC 3.3.1. Je croyais aussi que c'était un unsigned long long int, mais ca n'a rien donné.
0
Rejoignez-nous