11 Vote

C#/.NET: Différence entre int et uint

Question de Invité | 28/10/2021 à 13:53

Je sais à propos de la différence entre les types de données short, int et long (nombres de entier / integer 16 bits, 32 bits et 64 bits) en C#. Cependant, j'ai récemment reconnu d'autres types d'entier dans un exemple de code: ushort, uint et ulong  - afin que cela semble être les types normaux avec un u supplémentaire.

Quels sont ces types censés être? J'ai joué un peu avec eux et ils semblent travailler comme des entiers habituels. Alors, où est la différence?

RépondrePositifNégatif
1Meilleure Réponse1 Vote

Le "u" signifie "unsigned" (non signé). Ainsi, ces types sont des integers qui n'ont pas de signe et donc ne peuvent contenir que des valeurs positives.

L'avantage de ces entiers non signés est qu'ils peuvent accepter des nombres beaucoup plus élevés à la même longueur bit.

Ici, vous pouvez voir les valeurs minimales et maximales des types:

TypeBitsMinMax
sbyte8-128127
byte80255
short16-32.76832.767
ushort16065.535
int32-2.147.483.648-2.147.483.647
uint3204.294.967.295
long64-9.223.372.036.854.775.8089.223.372.036.854.775.807
ulong64018.446.744.073.709.551.615

Comme vous pouvez le constater, à la même longueur, les entiers non signés peuvent prendre deux fois plus grandes valeurs. Vous devez toujours utiliser de tels types dans une affaire dans laquelle vous savez qu'une valeur ne sera jamais négative mais peut devenir très grande (et peut donc atteindre les limites de la plage disponible).
31/10/2021 à 10:54

RépondrePositif Négatif
Répondre

Sujets Connexes

Avis Important

Veuillez noter: Les contributions publiées sur askingbox.com sont des contributions d’utilisateurs et ne doivent pas remplacer les conseils d’un professionnel. Ils ne sont pas vérifiés par des indépendants et ne reflètent pas nécessairement l’opinion de askingbox.com. Apprendre encore plus.

Participer

Posez votre propre question ou écrivez votre propre article sur askingbox.com. Voici comment.