关于int64类型最大值

作者: 小新

发布于 2023-05-22 | 最后更新 2023-05-22


1.各整型范围:

unsigned int 0~4294967295 

int 2147483648~2147483647 

unsigned long 0~4294967295

long 2147483648~2147483647

long long的最大值:9223372036854775807

long long的最小值:-9223372036854775808

unsigned long long的最大值:1844674407370955161

__int64的最大值:9223372036854775807

__int64的最小值:-9223372036854775808

unsigned __int64的最大值:18446744073709551615

2. __int64

(1)何时需要使用:

  long 和 int 范围是[-2^31,2^31),即-2147483648~2147483647,而unsigned范围是[0,2^32),即0~4294967295,所以常规的32位整数只能够处理40亿左右,当遇到比40亿大的多的数就要用到64位。

(2)

警告 在 32 位 Intel 计算机上分配 64 位值不是原子操作;即该操作不是线程安全的。这意味着,如果两个人同时将一个值分配给一个静态 Int64 字段,则该字段的最终值是无法预测的。

(3)

int64不能用作为循环变量;int64的操作速度较慢。