Les choses non standard sont toujours étranges :)
pour la longue longue portion
sous GNU c'est L
, ll
ou q
et sous windows je crois que c'est ll
seulement
#include <stdio.h>
int main() {
unsigned long long int num = 285212672; //FYI: fits in 29 bits
int normalInt = 5;
printf('My number is %d bytes wide and its value is %ul. A normal number is %d.
', sizeof(num), num, normalInt);
return 0;
}
Sortie :
My number is 8 bytes wide and its value is 285212672l. A normal number is 0.
Je suppose que ce résultat inattendu provient de l'impression du unsigned long long int
. Comment faites-vous printf()
et unsigned long long int
?
Les choses non standard sont toujours étranges :)
pour la longue longue portion
sous GNU c'est L
, ll
ou q
et sous windows je crois que c'est ll
seulement
Sous Linux, c'est %llu
et sous Windows, c'est %I64u
Bien que j'aie constaté que cela ne fonctionne pas sous Windows 2000, il semble y avoir un bogue !