在32位系统中,int类型的最大值是0x7fffffff(即除了最高的1Bit其他31位都为1),而最小值是0x80000000(除了最高1bit,其他31位都为0)。

显然,对于最小值求负数是不存在的,为什么会使最小值本身呢?

这是由于在计算负运算时,是针对int类型数据进行“取反加一”操作。这样对于最小值而言,“取反加一”还是本身保持不变。

另外,针对整数的计算,都是从位的角度的进行的。比如,int类型数据的最大值(0x7fffffff )加1,会得到int类型的最小值(0x80000000);而对于unsigned int类型的0x7fffffff 加1 ,也会得到0x80000000,这在位的角度来看都是一致的。

#include <stdio.h>

int main()
{
int a = 0x80000000;
int b = 0x7fffffff;
printf("INT_MIN and its' negative is :\n %d, %d\n\n", a, -a); printf("INT_MAX and INT_MAX+1 is :\n %d, %d\n\n", b, b+1); printf("unsigned(INT_MAX) and unsigned(INT_MAX+1) is :\n %u, %u\n\n", b, b+1); return 0;
} /*******输出如下****************/ Process started >>> INT_MIN and its' negative is :
-2147483648, -2147483648 INT_MAX and INT_MAX+1 is :
2147483647, -2147483648 unsigned(INT_MAX) and unsigned(INT_MAX+1) is :
2147483647, 2147483648 <<< Process finished. (Exit code 0)

最新文章

  1. linux svn hooks代码自动更新至项目
  2. ASP.NET MVC 给ViewBag赋值Html格式字符串的显示问题总结
  3. mybaties # , $
  4. Font Awesome符号字体
  5. Larbin初试
  6. LeetCode Read N Characters Given Read4
  7. 史上最全的HTML、CSS知识点总结,浅显易懂。
  8. hdfs: 一个分布式文件系统(一)
  9. caffe源码阅读(2)-Layer
  10. Android开源项目发现---ActionBar篇(持续更新)
  11. ICE学习第三步-----Slice语言
  12. [Design Pattern] Adapter Pattern 简单案例
  13. leetcode第36题--Sudoku Solver
  14. Openjudge-NOI题库-二维数组回形遍历
  15. mysql 数据库的主从同步
  16. JarvisOJ BASIC 德军的密码
  17. maven打包子模块中的class文件
  18. 一个关于EasyUI超恶心的BUG。。。Cannot read property &#39;options&#39; of undefined
  19. Anaconda+django写出第一个web app(十一)
  20. ThreadLocal 与 Request 和 Session 之关联

热门文章

  1. 12种开源Web安全扫描程序
  2. ubuntu查找端口和kill
  3. morphia 框架 mongodb内嵌查询
  4. django创建第一个视图-4
  5. 第4天 Java基础语法
  6. Grep/find查找文件
  7. MongoDB入门---聚合操作&amp;管道操作符&amp;索引的使用
  8. Redis系列八 使用Jedis
  9. django1.11+xadmin的搭建
  10. VIN码识别:让VIN码采集so easy!