Conozco int
y long
(números de 32 y 64 bits), pero ¿qué son uint
y ulong
?
118
Los tipos de datos primitivos con el prefijo "u" son versiones sin firmar con los mismos tamaños de bits. Efectivamente, esto significa que no pueden almacenar números negativos, pero por otro lado pueden almacenar números positivos dos veces más grandes que sus contrapartes con signo. Las contrapartes firmadas no tienen el prefijo "u".
Los límites para int (32 bits) son:
int: –2147483648 to 2147483647
uint: 0 to 4294967295
Y por mucho tiempo (64 bits):
long: -9223372036854775808 to 9223372036854775807
ulong: 0 to 18446744073709551615
uint
yulong
son las versiones sin firmar deint
ylong
. Eso significa que no pueden ser negativos. En cambio, tienen un valor máximo mayor.Para escribir un int literal sin firmar en su código fuente, puede usar el sufijo
u
o,U
por ejemplo123U
.No debe usar uint y ulong en su interfaz pública si desea cumplir con CLS .
Lea la documentación para obtener más información:
Por cierto, también hay short y ushort y byte y sbyte .
fuente
u
significaunsigned
, también loulong
es un gran número sin signo. Puede almacenar un valor mayor enulong
quelong
, pero no se permiten números negativos.Un
long
valor se almacena en 64 bits, con su primer dígito para mostrar si es un número positivo / negativo. mientrasulong
que también es de 64 bits, con todos los de 64 bits para almacenar el número. por lo que el máximo de ulong es 2 (64) -1, mientras que long es 2 (63) -1.fuente
La diferencia es que
uint
yulong
son tipos de datos sin firmar, lo que significa que el rango es diferente: no aceptan valores negativos:fuente