limits.h_判断某种特定类型可以容纳的最大值或最小值


要判断某种特定类型可以容纳的最大值或最小值,一种简便的方法是使用ANSI标准头文件limits.h中的预定义值。该文件包含一些很有用的常量,它们定义了各种类型所能容纳的值,下表列出了这些常量:


常 量 描 述
CHAR_BIT char的位数(bit)
CHAR_MAX char的十进制整数最大值
CHAR_MIN char的十进制整数最小值
MB_LEN_MAX 多字节字符的最大字节(byte)数
INT_MAX int的十进制最大值
INT_MIN int的十进制最小值
LONG_MAX long的十进制最大值
LONG_MIN long的十进制最小值
SCHAR_MAX signedchar的十进制整数最大值
SCHAR_MIN signedchar的十进制整数最小值
SHRT_MIN short的十进制最小值
SHRT_MAX short的十进制最大值
UCHAR_MAX unsignedchar的十进制整数最大值
UINT_MAX unsignedint的十进制最大值
ULONG_MAX unsignedlongint的十进制最大值
USHRT_MAX unsignedshortint的十进制最大值


	printf("char_max: %d \n",CHAR_MAX);
	printf("char_min: %d \n",CHAR_MIN);
	printf("short_max: %d \n",SHRT_MAX);
	printf("short_min: %d \n",SHRT_MIN);
	printf("int_max: %d \n",INT_MAX);
	printf("int_min: %d \n",INT_MIN);
	printf("long_max: %ld \n",LONG_MAX);
	
	printf("unsigned char max: %u \n",UCHAR_MAX);
	printf("unsigned short max: %u \n",USHRT_MAX);
	printf("unsigned int max: %u \n",UINT_MAX);
	printf("unsigned long max: %u \n",ULONG_MAX);



注意,无符号整型最小值为0。

	unsigned int x = 0;
	printf("unsigned int 0 - 1 = %u \n",x-1);

输出结果为:4294967295  (无符号的0xFFFFFFFF)

给自己提个醒,编程中要注意这点!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值