首页 > 其他 > 详细

关于数据类型的取值范围的理解

时间:2017-12-11 18:22:36      阅读:295      评论:0      收藏:0      [点我收藏+]

以int类型为例

int类型一般为四个字节,共32位。

int 用补码表示,补码表示中负数比正数多一个,最大值为2147483647 最小的数为 -2147483648,那么为什么为多一个数呢,就是0的表示,只有+0才是正常的,-0被移做最小的那个int了。

符号为0为正,1为负,所以正数的最大值为01111111111,那么当这个最大的数加一有神马情况呢?就是变成了100000000000,这个数,其实按照取反加一来表示时,这个数应该是标准的-0,但是由于补码把这个改成了最小的负数,所以INT_MAX+1就是INT_MIN,记住正数最大加一后变最小的;

上面说的这个climits这个头文件中,有INT_MAX和INT_MIN

正数的范围是0~2147483647,二进制就是0000000000~01111111111111111;

负数的范围是-2147483648~-1,二进制就是1000000000~ 11111111111111111;

如图所示:

技术分享图片

关于数据类型的取值范围的理解

原文:http://www.cnblogs.com/feng--fan/p/8023792.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!