1、变量范围
limits.h 头文件中定义来C 语言的变量范围.
变量范围的限制
//char 的范围
printf("CHAR_BIT:%d CHAR_MIN:%d CHAR_MAX:%d\n",CHAR_BIT,CHAR_MIN,CHAR_MAX);
//signed char 范围
printf("SCHAR_MIN:%d SCHAR_MAX:%d \n",SCHAR_MIN,SCHAR_MAX);
//unsigned char 最大值
printf("UCHAR_MAX:%d \n",UCHAR_MAX);
//short int 范围
printf("SHRT_MIN:%d SHRT_MAX:%d USHRT_MAX:%d \n",SHRT_MIN,SHRT_MAX,USHRT_MAX);
//int 范围
printf("INT_MIN:%d INT_MAX:%d \n",INT_MIN, INT_MAX);
//long int 范围
printf("LONG_BIT:%d LONG_MIN :%ld LONG_MAX:%ld ULONG_MAX:%ld \n",LONG_BIT, LONG_MIN, LONG_MAX, ULONG_MAX);
//long long int 范围
printf("LONG_BIT:%d LONG_LONG_MIN:%lld LONG_LONG_MAX:%lld ULONG_LONG_MAX:%lld \n",LONG_BIT,LONG_LONG_MIN,LONG_LONG_MAX, ULONG_LONG_MAX);
输出结果
CHAR_BIT:8 CHAR_MIN:-128 CHAR_MAX:127
SCHAR_MIN:-128 SCHAR_MAX:127
UCHAR_MAX:255
SHRT_MIN:-32768 SHRT_MAX:32767 USHRT_MAX:65535
INT_MIN:-2147483648 INT_MAX:2147483647
LONG_BIT:64 LONG_MIN :-9223372036854775808 LONG_MAX:9223372036854775807 ULONG_MAX:-1
LONG_BIT:64 LONG_LONG_MIN:-9223372036854775808 LONG_LONG_MAX:9223372036854775807 ULONG_LONG_MAX:-1
注意:不管是int,还是 long int, long long int无符号整型的最大范围都是-1.因为计算机内负数是补码表示的,对计算机来说,-1最大.