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