1.INT_MAX,INT_MIN数值大小
在C++中int
占字节32位(而机器数常采用补码来表示),根据二进制编码的规则,INT_MAX
=
2
31
−
1
= 2^{31}-1
=231−1,INT_MIN
=
−
2
31
=-2^{31}
=−231.在C/C++中所有超出该限制的值都会溢出.如果想表示的整数超过了该限值,可以使用long(8字节64位)
2.关于INT_MAX, INT_MIN的运算
由于二进制按原码,补码,反码的规则进行运算,所以要格外注意.
INT_MAX + 1 = INT_MIN
INT_MIN - 1 = INT_MAX
abs(INT_MIN) = INT_MIN