limits.h 头文件中定义来C 语言的变量范围.
变量范围的限制bash
//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);
输出结果code
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最大.it