C语言int型数据范围
在32位及以上操作系统上,int型数据的十进制表示范围是:-231 到 231-1。
原因:因为int是带符号类型,所以最高位为符号位,于是最大表示的正数的原码(正数的原码和补码相同):01111111 11111111 11111111 11111111,也就是2的31次方减1。
再来看最小值,-2的31次方的原码表示为10000000 00000000 00000000 00000000,此时最高位的数字既代表符号(1代表是负数,0代表是正数),也代表数值。求它的补码(除符号位外按位取反,最后一位+1),所得结果为10000000 00000000 00000000 00000000。同样也是最高位既代表符号又代表数值,也就是说-2的31次方的原码和补码是相同的。
接着试试-2的31次方减1,它的原码为(假设先不考虑溢出)11111111 11111111 11111111 11111111,求反加1之后为10000000 00000000 00000000 00000001,变成了-1。所以,int的表示范围是: -231 ~ 231-1。
补充运算符(转)
int i = 1; i = i << 2;
这是把i左移两位,左移的规则只记住一点:丢弃符号位,0补最低位!
如果移动的位数超过了该类型的最大位数,那么编译器会对移动的位数取模。如对int型移动33位,实际上只移动了33%32=1位。
右移有两种,算术右移(带符号)>>和逻辑右移(不带符号)>>>。
算术右移:符号位不变,左边补上符号位。如: 1000 1000 >> 3 为 1111 0001
逻辑右移:符号位一起移动,左边补上0。如:1000 1000 >>> 3 为 0001 0001
最后,移位的位数不能超过数据的大小,不能小于0。
转自http://blog.csdn.net/jiangyi711/article/details/5217431
转载于:https://www.cnblogs.com/orion7/p/7499134.html
C语言int型数据范围相关推荐
- C语言int型数组转化为字符串
sprintf函数 int fib[10];...char str[100] = {'\0'};char stm[100] = {'\0'};for(int s = 0;s <= num - 1 ...
- c语言int型数组长度求法及测试
输入一串数字,定义为整型数组,要如何求数组长度呢? 解决方案sizeof(s)/sizeof(int) s是定义的数组,即用数组所占的内存大小除以整型占得内存,就会得到数组的长度. 测试程序如下(环境 ...
- C语言找最大的int型数!_只愿与一人十指紧扣_新浪博客
物极必反! 计算机里,最大数下一个就是0! #include int main( ) { int a=100000000000; while(++a> ...
- max7456 C语言,如何使用8位单片机对16位INT型数据进行操作
描述 在8位单片机中没有16位数的操作指令,所有的int型数据都要通过两个字节分开操作,使用的方法不用,生成的代码也不相同,当然效率也不一样,通过指针对16位数进行操作可以得到高效的代码. 比如通过串 ...
- c语言int作用,c语言中int的用法有哪些
c语言中int的用法有哪些 C/C++编程语言中,int表示整型变量,是一种数据类型,用于定义一个整型变量,在不同编译环境有不同的大小,不同编译运行环境大小不同下面小编给大家整理了c语言中int的用法 ...
- int对应的范围c语言,C语言int的取值范围
C语言int的取值范围在32/64位系统中都是32位,范围为-2147483648~+2147483647,无符号情况下表示为0~4294967295. C/C++编程语言中,int表示整型变量,是一 ...
- c语言 int的取值范围,C语言int的取值范围 ?
C语言int的取值范围在32/64位系统中都是32位,范围为-2147483648~+2147483647,无符号情况下表示为0~4294967295. C/C++编程语言中,int表示整型变量,是一 ...
- 10亿int型数,统计只出现一次的数
原文:http://blog.csdn.net/u010983881/article/details/75097358 题目 10亿int整型数,以及一台可用内存为1GB的机器,时间复杂度要求O(n) ...
- php实现 求int型数据在内存中存储时1的个数(函数都可自己实现)
php实现 求int型数据在内存中存储时1的个数(函数都可自己实现) 一.总结 一句话总结:函数我们自己都可以实现,尤其是很多基础函数,没有工具的时候自己写. 1.php进制转换函数? base_co ...
最新文章
- Android Broadcast Receiver
- Matlab:成功解决Undefined function or variable B
- redis 底层数据结构 压缩列表 ziplist
- 揭秘 SIGCOMM 20‘ 论文:阿里云网络洛神 VTrace 系统
- 各IO 模型对比与总结
- 小小鸡蛋竟然能够承受1200kg重量!?
- opencv画框返回坐标 python_[python]依靠pynput和pyautogui替换ahk
- cmd如何默认以管理身份运行
- Python出入库简洁系统
- (转)【自动语音识别课程】
- 关于期权的若干硬知识,知道这些就不那么担心了
- android hal层编译,Android Hal层接入Opencv(踩坑篇)
- mac能开发android吗,怎么在Mac上开发Android应用
- Zim-个人wiki系统
- 素描构图中的对比与调和
- 2-《电子入门趣谈》第一章_一切从单片机开始-1.1单片机概述
- SpringCloud(四)Eureka自我保护机制
- Axure8超详细使用教程(含安装包)
- 尊严与爱——论《简爱》的价值观
- 重装也无法修复此计算机,win10系统重置此电脑失败怎么解决