Je connais int
et long
(nombres 32 bits et 64 bits), mais que sont uint
et ulong
?
118
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
etulong
sont les versions non signées deint
etlong
. Cela signifie qu'ils ne peuvent pas être négatifs. Au lieu de cela, ils ont une valeur maximale plus élevée.Pour écrire un entier non signé littéral dans votre code source, vous pouvez utiliser le suffixe
u
ouU
par exemple123U
.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:
À propos, il y a aussi short et ushort et byte et sbyte .
la source
u
signifieunsigned
, ainsiulong
est un grand nombre sans signe. Vous pouvez stocker une valeurulong
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 queulong
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 source
La différence est que les types de données
uint
etulong
sont non signés, ce qui signifie que la plage est différente: ils n'acceptent pas les valeurs négatives:la source