什么类型的整数用于大于2 ^ 32的整数?

时间:2012-02-02 20:08:42

标签: c#

我有一个整数变量,可以得到一个大于4294967295的值。 我应该使用什么类型的?

3 个答案:

答案 0 :(得分:8)

您可以使用long(Int64):

  

Int64值类型表示整数值,范围从负9,223,372,036,854,775,808到正数9,223,372,036,854,775,807。

另一种选择是ulong(UInt64):

  

UInt64值类型表示无符号整数,其值范围为0到18,446,744,073,709,551,615。

如果还不够,请查看BigInteger

  

表示任意大的有符号整数。

答案 1 :(得分:2)

在这种情况下,您可以使用int64类型。

答案 2 :(得分:0)

类型long长度为64位,可以包含

范围内的值
long:  -2^63 ... 2^63 - 1    (~ -9.22 * 10^18 ... 9.22 * 10^18)

int进行比较,其长度为32位且范围

int:  -2^31 ... 2^31 - 1    (~ -2.15 * 10^9 ... 2.15 * 10^9)

无符号变体

ulong:  0 ... 2^64 - 1    (~ 0 ... 1.84 * 10^19)
uint:   0 ... 2^32 - 1    (~ 0 ... 4.29 * 10^9)

请注意,所有这些类型都可以转换为decimal而不会损失精确度。

decimal:  ~ -7.92 * 10^28 ... 7.92 * 10^28

但是,decimal不是整数类型。