在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型数据范围相关推荐

  1. C语言int型数组转化为字符串

    sprintf函数 int fib[10];...char str[100] = {'\0'};char stm[100] = {'\0'};for(int s = 0;s <= num - 1 ...

  2. c语言int型数组长度求法及测试

    输入一串数字,定义为整型数组,要如何求数组长度呢? 解决方案sizeof(s)/sizeof(int) s是定义的数组,即用数组所占的内存大小除以整型占得内存,就会得到数组的长度. 测试程序如下(环境 ...

  3. C语言找最大的int型数!_只愿与一人十指紧扣_新浪博客

    物极必反! 计算机里,最大数下一个就是0! #include int main(  )     {           int a=100000000000;         while(++a> ...

  4. max7456 C语言,如何使用8位单片机对16位INT型数据进行操作

    描述 在8位单片机中没有16位数的操作指令,所有的int型数据都要通过两个字节分开操作,使用的方法不用,生成的代码也不相同,当然效率也不一样,通过指针对16位数进行操作可以得到高效的代码. 比如通过串 ...

  5. c语言int作用,c语言中int的用法有哪些

    c语言中int的用法有哪些 C/C++编程语言中,int表示整型变量,是一种数据类型,用于定义一个整型变量,在不同编译环境有不同的大小,不同编译运行环境大小不同下面小编给大家整理了c语言中int的用法 ...

  6. int对应的范围c语言,C语言int的取值范围

    C语言int的取值范围在32/64位系统中都是32位,范围为-2147483648~+2147483647,无符号情况下表示为0~4294967295. C/C++编程语言中,int表示整型变量,是一 ...

  7. c语言 int的取值范围,C语言int的取值范围 ?

    C语言int的取值范围在32/64位系统中都是32位,范围为-2147483648~+2147483647,无符号情况下表示为0~4294967295. C/C++编程语言中,int表示整型变量,是一 ...

  8. 10亿int型数,统计只出现一次的数

    原文:http://blog.csdn.net/u010983881/article/details/75097358 题目 10亿int整型数,以及一台可用内存为1GB的机器,时间复杂度要求O(n) ...

  9. php实现 求int型数据在内存中存储时1的个数(函数都可自己实现)

    php实现 求int型数据在内存中存储时1的个数(函数都可自己实现) 一.总结 一句话总结:函数我们自己都可以实现,尤其是很多基础函数,没有工具的时候自己写. 1.php进制转换函数? base_co ...

最新文章

  1. Android Broadcast Receiver
  2. Matlab:成功解决Undefined function or variable B
  3. redis 底层数据结构 压缩列表 ziplist
  4. 揭秘 SIGCOMM 20‘ 论文:阿里云网络洛神 VTrace 系统
  5. 各IO 模型对比与总结
  6. 小小鸡蛋竟然能够承受1200kg重量!?
  7. opencv画框返回坐标 python_[python]依靠pynput和pyautogui替换ahk
  8. cmd如何默认以管理身份运行
  9. Python出入库简洁系统
  10. (转)【自动语音识别课程】
  11. 关于期权的若干硬知识,知道这些就不那么担心了
  12. android hal层编译,Android Hal层接入Opencv(踩坑篇)
  13. mac能开发android吗,怎么在Mac上开发Android应用
  14. Zim-个人wiki系统
  15. 素描构图中的对比与调和
  16. 2-《电子入门趣谈》第一章_一切从单片机开始-1.1单片机概述
  17. SpringCloud(四)Eureka自我保护机制
  18. Axure8超详细使用教程(含安装包)
  19. 尊严与爱——论《简爱》的价值观
  20. 重装也无法修复此计算机,win10系统重置此电脑失败怎么解决

热门文章

  1. 国密浏览器是什么?有哪些?有什么特点?
  2. 最后聊聊:备案需要注意的地方和域名的解析
  3. EFR32芯科zigbee学习文档资源总结
  4. android客户端直接调用芝麻信用的人脸认证
  5. 操作数据库方法总结1——JDBC、连接池与JDBCTemplate
  6. 常用颜色的RGB分布
  7. uva12657 移动盒子
  8. TIA博途WINCC中给IO域添加确认功能的具体方法步骤
  9. 常用软件分享及下载地址
  10. 基于PHP的酒店管理系统