Je connais int
et long
(nombres 32 bits et 64 bits), mais que sont uint
et ulong
?
Je connais int
et long
(nombres 32 bits et 64 bits), mais que sont uint
et ulong
?
Réponses:
Les types de données primitifs préfixés par «u» sont des versions non signées avec les mêmes tailles de bits. En effet, cela signifie qu'ils ne peuvent pas stocker de nombres négatifs, mais d'un autre côté, ils peuvent stocker des nombres positifs deux fois plus grands que leurs homologues signés. Les contreparties signées n'ont pas de préfixe "u".
Les limites pour int (32 bits) sont:
int: –2147483648 to 2147483647
uint: 0 to 4294967295
Et pour longtemps (64 bits):
long: -9223372036854775808 to 9223372036854775807
ulong: 0 to 18446744073709551615
uint
et ulong
sont les versions non signées de int
et long
. Cela signifie qu'ils ne peuvent pas être négatifs. Au lieu de cela, ils ont une valeur maximale plus élevée.
Type Min Max Conforme CLS int -2.147.483.648 2.147.483.647 Oui uint 0 4 294 967 295 Non long –9,223,372,036,854,775,808 9,223,372,036,854,775,807 Oui ulong 0 18,446,744,073,709,551,615 Non
Pour écrire un entier non signé littéral dans votre code source, vous pouvez utiliser le suffixe u
ou U
par exemple 123U
.
Vous ne devez pas utiliser uint et ulong dans votre interface publique si vous souhaitez être conforme CLS .
Lisez la documentation pour plus d'informations:
u
signifie unsigned
, ainsi ulong
est un grand nombre sans signe. Vous pouvez stocker une valeur ulong
supérieure à long
, mais aucun nombre négatif n'est autorisé.
Une long
valeur est stockée en 64 bits, avec son premier chiffre pour indiquer s'il s'agit d'un nombre positif / négatif. tandis que ulong
est également 64 bits, avec tous les 64 bits pour stocker le numéro. donc le maximum de ulong est 2 (64) -1, tandis que long est 2 (63) -1.
La différence est que les types de données uint
et ulong
sont non signés, ce qui signifie que la plage est différente: ils n'acceptent pas les valeurs négatives:
int range: -2,147,483,648 to 2,147,483,647
uint range: 0 to 4,294,967,295
long range: –9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
ulong range: 0 to 18,446,744,073,709,551,615