标签:har char 宏定义 支持 libc 64位 long 符号 unsigned
  limits.h 类似于float.h,其定义了一些列类型的值的范围、限制值,也就是说该类型的值不可以大于该上界或者小于该类型值的下界;
	
	  glibc中宏定义了一下的值:
		    #  define MB_LEN_MAX    16      //  多字节字符的最大字节(byte)数为16位
		    #  define CHAR_BIT	8           //  1个字符所占的字节位数8位
		    #  define SCHAR_MIN	(-128)      //  一个有符号字符的最小值
		    #  define SCHAR_MAX	127         //  一个有符号字符的最大值
		    #  define UCHAR_MAX	255         //  一个无符号字符的最大值
		    #  define SHRT_MIN	(-32768)    //  有符号短整型最小值
		    #  define SHRT_MAX	32767       //  有符号短整型最大值
		    #  define USHRT_MAX	65535       //  无符号短整型最大值
		    #  define INT_MIN (-INT_MAX-1)  //  有符号整形最小值
		    #  define INT_MAX 2147483647    //  有符号整形最大值
		    #  define UINT_MAX	4294967295U //  无符号整形最大值
		    #  define LONG_MIN  (-LONG_MAX - 1)                        // 依赖于平台是否支持64位;
		    #  define LONG_MAX  9223372036854775807L或者2147483647L    // 依赖于平台是否支持64位;
		    #  define ULONG_MAX	18446744073709551615UL或者4294967295UL // 依赖于平台是否支持64位;
		    #  define LLONG_MAX	9223372036854775807LL                  // 有符号长长整形最大值
		    #  define LLONG_MIN	(-LLONG_MAX - 1LL)                     // 有符号长长整形最小值
		    #  define ULLONG_MAX 18446744073709551615ULL               // 无符号长长整形最大值
	  微软中提供也同样的宏,其中的不同之处有:
		    #define MB_LEN_MAX     5
		    #define LONG_MIN       (-2147483647L - 1)
		    #define LONG_MAX       2147483647L	
	  微软还提供了便于使用的宏类型如_I8_MIN、_I16_MIN、_UI32_MAX、_I64_MAX等,此外也提供了128位的支持:
		    #define _I128_MIN    (-170141183460469231731687303715884105727 - 1)
		    #define _I128_MAX     170141183460469231731687303715884105727
		    #define _UI128_MAX    0xffffffffffffffffffffffffffffffff
			
	  C语言并未对字节长度明确要求,不过一般要求所占字节长度满足:char(unsigned char) < short int(unsigned short int) < int(unsigned int) <= long int(unsigned long int) < long long int(unsigned long long int)。
		
标签:har char 宏定义 支持 libc 64位 long 符号 unsigned
原文地址:http://www.cnblogs.com/haomiao/p/6128949.html