int类型的数据长度
来源:互联网 发布:网络舆情管理系统 编辑:程序博客网 时间:2024/05/17 16:00
1.在32的机器下,int的范围是 - 2 ^ 31 ~2 ^ 31 - 1; 也就是:[-2147483648, 2147483647];
在16的机器下,int的范围为 -2 ^ 15 ~ 2 ^ 15-1;也就是 :[-32768,32767];
整型变量int的范围与计算机的字长有关,int 的长度是一个计算机字长。
2.int n =-2147483648 时,会发生错误 1:error C4146: 一元负运算符应用于无符号类型,结果仍为无符号类型
所以该值不能写为 -2147483648,因为表达式处理分两个步骤:1. 计算数字 2147483648。 因 2147483648 大于最大整数值 2147483647,所以其类型不是 int,而是 unsigned int。2. 将一元负应用于该值,得到无符号结果,该结果碰巧是 2147483648。而这种隐含转换的无符号类型的结果可能导致意外行为,所以编译器会提示waring甚至在VS2012中直接提示error。
原因分析:http://blog.csdn.net/mrknight/article/details/9851631
3.原码, 反码, 补码 详解
https://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html
4.INT_MIN和INT_MAX看最小值和最大值
cout << "int 最小值: " << INT_MIN << endl; cout << "int 最大值: " << INT_MAX << endl; int a ,b,c,d; a = 2147483647; //比如说在32的机器下,int的范围是 - 2 ^ 31 ~2 ^ 31 - 1; 也就是:[-2147483648, 2147483647]; 16的机器下范围为-2^15~2^15-1 b = a + 1; cout << a << " " << b << endl; c = -2147483648; //虽然明明 int 最小值是 - 2147483648,但我们就是无法用int n = -2147483648; 表示。 // d = c - 1; //cout << c << " " << d << endl;
阅读全文
0 0
- int类型的数据长度
- JSTL中取得int类型数据的长度
- 详解mysql int类型的长度值
- 数据库int类型字段长度的含义
- mysql int类型的长度值问题
- 各种int,double,char等类型数据长度
- int类型数据的读入
- INT 类型长度溢出缺陷
- 16位int类型长度
- C语言中int 类型的字节长度
- 详解mysql int类型的长度值问题
- 创建mysql数据表时,字段的int类型长度问题
- 详解mysql int类型的长度值问题
- 详解mysql int类型的长度值问题
- 详解mysql int类型的长度值问题
- 将4位长度的char转换为int类型
- php int 类型长度是有限制的
- 详解mysql int类型的长度值问题
- 源码剖析---------webbench(测压工具)
- View详解【一】
- Java中的进制转换
- Vs 2015-2017好用插件
- Android多屏幕适配
- int类型的数据长度
- LINUX下面JDK的安装
- KazaQ's Socks
- Eclipse新建基于Maven的spring-mvc项目
- MYSQL学习笔记(十三)组合查询
- Linux中inode节点有什么作用?
- iOS ReactiveCocoa 使用详解(三)
- 关于Android的.so文件
- “iOS应用架构谈 网络层设计方案”笔记