整型上下限
C/C++中整数的最大值和最小值用常量INT_MAX和INT_MIN来表示。定义在limits.h。
数值大小:
因为int是32为,所以根据二进制规则:
INT_MAX: 2^31-1=2147483647;
INT_MIN: -2^31+1=-2147483648;
所有超过这两个限值的树,都会出现溢出。如果使用的整数可能会超过这两个限值,则可以使用长整型long long ,64位。
注意:
因为二进制是按原码、反码、补码规则进行运算的,所以在溢出的时,INT_MAX和INT_MIN不遵循数学规律。
INT_MAX+1=INT_MIN
INT_MIN-1=INT_MAX
abs(INT_MIN)=INT_MIN
也就是说,INT_MAX+1小于INT_MAX,INT_MIN-1大于INT_MIN。并且abs(INT_MIN)小于0。 所以在对INT_MAX和INT_MIN的运算应该注意。