我知道int
和long
(32位和64位数字),但是什么是uint
和ulong
发布于 2010-09-16 14:39:27
以"u“为前缀的原始数据类型是具有相同位大小的无符号版本。实际上,这意味着它们不能存储负数,但另一方面,它们可以存储两倍于其有符号的对应物的正数。带符号的对等体没有"u“前缀。
int (32位)的限制为:
int: –2147483648 to 2147483647
uint: 0 to 4294967295
对于long (64位):
long: -9223372036854775808 to 9223372036854775807
ulong: 0 to 18446744073709551615
发布于 2010-09-16 14:40:40
不同之处在于uint
和ulong
是无符号数据类型,这意味着范围不同:它们不接受负值:
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
发布于 2010-09-16 14:40:48
u
的意思是unsigned
,所以ulong
是一个没有符号的大数字。您可以在ulong
中存储比long
更大的值,但不允许使用负数。
long
值以64位存储,其第一个数字表示它是正数还是负数。而ulong
也是64位的,全部用64位来存储数字。因此,ulong的最大值是2(64)-1,而long是2(63)-1。
https://stackoverflow.com/questions/3724242
复制相似问题