A quoi sert (un)signed short int en C++ ?
Fermé
-RoRo-
Messages postés
98
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
14 mai 2010
-
24 déc. 2008 à 13:09
-RoRo- Messages postés 98 Date d'inscription dimanche 2 novembre 2008 Statut Membre Dernière intervention 14 mai 2010 - 24 déc. 2008 à 14:26
-RoRo- Messages postés 98 Date d'inscription dimanche 2 novembre 2008 Statut Membre Dernière intervention 14 mai 2010 - 24 déc. 2008 à 14:26
A voir également:
- Int short
- Short message service - Accueil - Protection
- Int converter - Télécharger - Bureautique
- Int(input()) - Forum Python
- Demander lnb short 1 demander lnb short 2 demander lnb short 3 demander lnb short 4 geant - Forum Disque dur / SSD
- Surcharge circuit LNB - Forum TNT / Satellite / Réception
2 réponses
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
24 déc. 2008 à 13:17
24 déc. 2008 à 13:17
Bonjour,
Ce ne sont que des recherches de performances optimales (enfin, bien souvent, parfois en utilisant le mauvais type on fait planter tout le programme).
Par exemple, un int est codé sur 32bits, donc il y a 4294967296 valeurs possibles.
Par défaut, quand tu déclares un int, c'est un signed int, c'est-à-dire que ton int peut aller de -2147483647 à +2147483648.
Si dans ton programme tu sais que tu n'utiliseras pas d'entiers négatifs, alors ça ne sert à rien de gaspiller 16bits. Tu déclares ton int en unsigned int, de cette manière ton entier peut aller de 0 à 4294967295.
Pour les shorts, c'est un peu la même façon de penser : un short est codé sur 16bits.
Donc par défaut, ton short peut aller de -32767 à +32768. Si tu sais que ton entier ne va pas dépasser ces valeurs, alors autant gagner quelques bits en évitant d'allouer de la mémoire qui ne sera pas utilisée.
Cordialement,
Ce ne sont que des recherches de performances optimales (enfin, bien souvent, parfois en utilisant le mauvais type on fait planter tout le programme).
Par exemple, un int est codé sur 32bits, donc il y a 4294967296 valeurs possibles.
Par défaut, quand tu déclares un int, c'est un signed int, c'est-à-dire que ton int peut aller de -2147483647 à +2147483648.
Si dans ton programme tu sais que tu n'utiliseras pas d'entiers négatifs, alors ça ne sert à rien de gaspiller 16bits. Tu déclares ton int en unsigned int, de cette manière ton entier peut aller de 0 à 4294967295.
Pour les shorts, c'est un peu la même façon de penser : un short est codé sur 16bits.
Donc par défaut, ton short peut aller de -32767 à +32768. Si tu sais que ton entier ne va pas dépasser ces valeurs, alors autant gagner quelques bits en évitant d'allouer de la mémoire qui ne sera pas utilisée.
Cordialement,
-RoRo-
Messages postés
98
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
14 mai 2010
1
24 déc. 2008 à 14:26
24 déc. 2008 à 14:26
Ben voilà, j'ai tout compris. Merci à toi !