由于老是记不太住short,int,long,long long所表示的数的范围,所以在这里记录一下。
int的表示与编译器有关,一般的编译器用四个字节来表示。4个字节有32位,其中第一位用来表示“正负”,其余31位用来表示数值,那么int范围是(-2^31,2^31-1)【为什么负数能多表示一个,参考http://blog.sina.com.cn/s/blog_9e67285801010vms.html,简单来说是和原码,反码,补码有关系,人为规定补码中 1000 0000 表示 -128】。
其他类型的表示范围如下:
short : 2字节(-2^15~2^15-1)也就是(-32768~32767),即(SHRT_MIN~SHRT_MAZ
)(包含在头文件<climits>
中);
int : 4字节 (-2^31,2^31-1)也就是(-2147483648,2147483648),即(INT_MIN~INT_MAZ
);
long : 4字节 (-2^31,2^31-1)也就是(-2147483648,2147483648),即