作者:朱金灿
来源:http://blog.csdn.net/clever101
本文是基于VS C++2008编译器来叙述的,其它编译环境或许和本文所说的有出入。
C++常用数值类型的值范围的宏定义主要放在两个C标准库的头文件中定义:float.h和limits.h。其中float.h定义了浮点数类型double和float的数值范围,分别是:
#define DBL_MAX 1.7976931348623158e+308 /* double型的最大值*/
#define DBL_MIN 2.2250738585072014e-308 /* double型的最小值 */
#define FLT_MAX 3.402823466e+38F /* float型的最大值*/
#define FLT_MIN 3.402823466e+38F /* float型的最小值*/
limits.h定义了整型类型的数值范围:
#define SCHAR_MIN (-128) /* minimum signed char value */
#define SCHAR_MAX 127 /* maximum signed char value */
#define CHAR_MIN SCHAR_MIN /* mimimum char value */
#define CHAR_MAX SCHAR_MAX /* maximum char value */
#define SHRT_MIN (-32768) /* minimum (signed) short value */
#define SHRT_MAX 32767 /* maximum (signed) short value */
#define USHRT_MAX 0xffff /* maximum unsigned short value */
#define INT_MIN (-2147483647 - 1) /* minimum (signed) int value */
#define INT_MAX 2147483647 /* maximum (signed) int value */
#define UINT_MAX 0xffffffff /* maximum unsigned int value */
#define LONG_MIN (-2147483647L - 1) /* minimum (signed) long value */
#define LONG_MAX 2147483647L /* maximum (signed) long value */
#define ULONG_MAX 0xffffffffUL /* maximum unsigned long value */
#define LLONG_MAX 9223372036854775807i64 /* maximum signed long long int value */
#define LLONG_MIN (-9223372036854775807i64 - 1) /* minimum signed long long int value */
#define ULLONG_MAX 0xffffffffffffffffui64 /* maximum unsigned long long int value */
(因为所有无符号整数的最小值为0,因此这里没有定义)
如果你觉得我的博客对你有帮助,请在下面网址中博客之星评选活动投我一票:
http://vote.blog.csdn.net/item/blogstar/clever101(单击候选人介绍下面的投他一票那个按钮)
参与投票有机会获奖:
最佳贡献奖:通过微博分享活动就有机会获得30元充值卡一张(每周抽选5名)
幸运奖:凡参与投票用户就有机会获得精美小礼品一份。(每周抽选5名)
积极参与奖:所有参与投票并符合条件的用户均可获得20个下载积分。