c++中int型变量最小值是如何算出来的?

[复制链接]
查看11 | 回复5 | 2012-4-11 16:38:15 | 显示全部楼层 |阅读模式
int 是有符号类型。即 最高位为1时,为负数。为0时,为正数。假设int为4 Byte. 32bit.int最大值 最高位为0,其它31位为1.int最小指 最高位为1,其它32为为0.#define INT_MIN1 << 31.正数的补码与原码一样,负数的补码,原码取反再加1...
回复

使用道具 举报

千问 | 2012-4-11 16:38:15 | 显示全部楼层
首先定义一个无符号整型的0:00000取反:11111右移一位:01111转成int型即得到正的最大值依然是无符号的0:00000取反:11111右移一位:01111装换成有符号数再取反:110000(注意这里:系统对有符号数的取反过程实际上是先改变且只改变符号位,然后再直接加1)然后就得到了int型的最小值....
回复

使用道具 举报

千问 | 2012-4-11 16:38:15 | 显示全部楼层
int n_int=INT_MIN;cout<<n_int;INT_MIN是系统限制文件中的数据 可以直接调用 这样就可以查到你的系统中int型数据的最小值了...
回复

使用道具 举报

千问 | 2012-4-11 16:38:15 | 显示全部楼层
正数的补码与原码一样,负数的补码,原码取反再加1...
回复

使用道具 举报

千问 | 2012-4-11 16:38:15 | 显示全部楼层
源码取反再加1...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行