Conozco inty long(números de 32 y 64 bits), pero ¿qué son uinty 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
uintyulongson las versiones sin firmar deintylong. 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
uo,Upor 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
usignificaunsigned, también loulonges un gran número sin signo. Puede almacenar un valor mayor enulongquelong, pero no se permiten números negativos.Un
longvalor se almacena en 64 bits, con su primer dígito para mostrar si es un número positivo / negativo. mientrasulongque 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
uintyulongson tipos de datos sin firmar, lo que significa que el rango es diferente: no aceptan valores negativos:fuente