Les types short et int sont destinés à contenir un entier ( et un seul ) ; cependant, il peuvent se décliner de plusieurs manières.
Le programme qui suit ( taille_entiers.c ) vous permettra de savoir la taille en octets de chacun des types d’entier :
Sous Linux, ce programme donne :
Cependant, sur d’autres systèmes, les tailles des types de données peuvent différer.
Il est donc important de préciser que les programmes qui procèdent a des décalages de bits ne sont pas nécessairement portables d’une plate-forme à une autre.
Un short pourra contenir, sous Linux, une valeur entre : -32768 et 32767
Un unsigned short pourra contenir, sous Linux, une valeur entre : 0 et 65535
Un int pourra contenir, sous Linux, une valeur entre : -2147483648 et 2147483647
Un unsigned int pourra contenir, sous Linux, une valeur entre : 0 et 4294967295
Un long int pourra contenir, sous Linux, une valeur entre : -2147483648 et 2147483647
Un unsigned long int pourra contenir, sous Linux, une valeur entre : 0 et 4294967295
Un long long int pourra contenir, sous Linux, une valeur entre : -9223372036854775808 et 9223372036854775807
Un unsigned long long int pourra contenir, sous Linux, une valeur entre : 0 et 18446744073709551615
Le programme min_max_types.c vous permettra de retrouver ces valeurs minimales quelle que soit votre plate-forme.
Les types float et double sont destinés à contenir un nombre a virgule flottante ( et un seul ), c’est a dire un reel en langage purement mathématique.
Le programme qui suit ( taille_float.c ) vous permettra de savoir la taille en octets de chacun des types de reels du langage c :
Sous Linux, ce programme donne :