C++常用数值类型的值范围的宏定义

作者:朱金灿

来源: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个下载积分。


原文地址:https://www.cnblogs.com/lanzhi/p/6470707.html