Lorsque j'ai appris le langage C ++ pour la première fois, j'ai appris qu'en plus de int, float, etc., des versions plus ou moins grandes de ces types de données existaient dans le langage. Par exemple, je pourrais appeler une variable x
int x;
or
short int x;
La principale différence étant que short int prend 2 octets de mémoire tandis que int prend 4 octets, et short int a une valeur moindre, mais nous pourrions également l'appeler pour la rendre encore plus petite:
int x;
short int x;
unsigned short int x;
ce qui est encore plus restrictif.
Ma question ici est de savoir si c'est une bonne pratique d'utiliser des types de données distincts en fonction des valeurs que votre variable prend dans le programme. Est-ce une bonne idée de toujours déclarer des variables en fonction de ces types de données?
unsigned
manière ou d'une autre fait qu'un entier occupe moins d'espace, ce qui est bien sûr faux. Il aura le même nombre de valeurs représentables discrètes (donner ou prendre 1 selon la façon dont le signe est représenté), mais simplement décalé exclusivement dans le positif.