int ,long , long long, __int64类型的范围
2015-11-16 17:28
295 查看
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 字段,则该字段的最终值是无法预测的。
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 字段,则该字段的最终值是无法预测的。
相关文章推荐
- 栈和队列7 – 数据结构和算法29
- web服务鉴权的一种实现方法
- iOS开发UI篇—CAlayer(自定义layer)
- 转:Nginx+Apache环境的安装与配置
- 【转】Hashtable排序的几种方法
- 不让activity显示UI的办法
- android UI-EditText的长度监听慎用TextWatcher
- sqlite-C编程-error-
- 【第9周 项目3 - 稀疏矩阵的三元组表示的实现(1)】
- 第十一周项目2用二叉树求解代数表达式
- 从”JAVA“而终 25:Servlet讲解
- 广义表算法库及应用(2)
- 在spin_lock_irqsave与spin_unlock_irqrestore中的内核抢占
- v8引擎学习
- Android Studio 常用快捷键
- 校验和算法
- iOS开发UI 篇—CAlayer层的属性
- 在iOS中使用ZBar扫描二维码
- sqlite-( TABLE == FILE )
- Monkey测试