使用头文件cfloat中的符号常量获知浮点类型数据的表数范围---gyy整理

使用头文件cfloat中的符号常量获知浮点类型数据的表数范围

cfloat头文件包含了系统的浮点数的长度限制

头文件climits中的符号常量是获知整型数据的表数范围,并不能获取浮点类型数据的表数范围。

<climits>该头文件包含了系统的整数长度的限制,它已取代了头文件<limits.h>

<cfloat> 该头文件包含了系统的浮点数的长度限制,它以取代了头文件<float.h>

<cfloat> 头文件各字符常量的取值和含义使用头文件cfloat中的符号常量获知浮点类型数据的表数范围---gyy整理

使用头文件cfloat中的符号常量获知浮点类型数据的表数范围---gyy整理

上图中在程序中常用到的定义浮点数大小的符号常量如下

FLT_MIN        float类型最小的正数

FLT_MAX        float类型最大的正数

DBL_MIN       double类型最小的正数

DBL_MAX      double类型最大的正数

FLT_MANT_DIG   float类型的二进制有效数字位

DBL_MANT_DIG   double类型的二进制有效数字位

FLT_DIG     float类型的精度

DBL_DIG     double类型的精度

FLT_MIN_EXP         float型二进制浮点数的最小指数

FLT_MAX_EXP        float型二进制浮点数的最大指数

DBL_MIN_EXP        double型二进制浮点数的最小指数

DBL_MAX_EXP       double型二进制浮点数的最大指数

FLT_MIN_10_EXP         float型十进制浮点数的最小指数

FLT_MAX_10_EXP        float型十进制浮点数的最大指数

DBL_MIN_10_EXP        double型十进制浮点数的最小指数

DBL_MAX_10_EXP       double型十进制浮点数的最大指数

  1. #include <iostream>
  2. #include <cfloat>
  3. using namespace std;
  4. int main()
  5. {
  6. cout << "Size:" << endl;
  7. cout << "float is     "   << sizeof (float)     << "bytes." << endl;
  8. cout << "double is   "   << sizeof (double)   << "bytes." << endl;
  9. cout << "long double is    "   << sizeof (long double)    << "bytes." << endl << endl;
  10. cout << "Bits per byte = " << CHAR_BIT << endl << endl;
  11. cout << "Maximum values:" << endl;
  12. cout << "float:           "   << FLT_MAX << endl;
  13. cout << "double:         "   << DBL_MAX << endl;
  14. cout << "Minimum values:" << endl;
  15. cout << "float:           "   << FLT_MIN << endl;
  16. cout << "double:         "   << DBL_MIN << endl;
  17. system("pause");
  18. return 0;
  19. }

运行结果

使用头文件cfloat中的符号常量获知浮点类型数据的表数范围---gyy整理

 

  1. #include <iostream>
  2. #include <cfloat>
  3. using namespace std;
  4. int main()
  5. {
  6. //浮点数在内存中的存储大小(字节)
  7. cout << "浮点数在内存中的存储大小(字节):" << endl;
  8. cout << "float is     "   << sizeof (float)     << "bytes." << endl;
  9. cout << "double is   "   << sizeof (double)   << "bytes." << endl;
  10. cout << "long double is    "   << sizeof (long double)    << "bytes." << endl << endl;
  11. cout << "Bits per byte = " << CHAR_BIT << endl << endl;
  12. //浮点数的最大值
  13. cout << "浮点数的最大值:" << endl;
  14. cout << "float:           "   << FLT_MAX << endl;
  15. cout << "double:         "   << DBL_MAX << endl;
  16. //浮点数的最小值
  17. cout << "浮点数的最小值:" << endl;
  18. cout << "float:           "   << FLT_MIN << endl;
  19. cout << "double:         "   << DBL_MIN << endl;
  20. //浮点数的精度
  21. cout << "浮点数的精度:" << endl;
  22. cout << "float:           "   <<FLT_DIG << endl;
  23. cout << "double:         "   << DBL_DIG << endl;
  24. //浮点数的二进制有效数字位数(尾数所占位数,包括符号位)
  25. cout << "浮点数的二进制有效数字位数(尾数所占位数,包括符号位):" << endl;
  26. cout << "float:           "   <<FLT_MANT_DIG << endl;
  27. cout << "double:         "   << DBL_MANT_DIG << endl;
  28. //二进制浮点数的指数最大值
  29. cout << "二进制浮点数的指数最大值 :" << endl;
  30. cout << "float:           "   << FLT_MAX_EXP << endl;
  31. cout << "double:         "   << DBL_MAX_EXP << endl;
  32. //二进制浮点数的指数最小值
  33. cout << "二进制浮点数的指数最小值:" << endl;
  34. cout << "float:           "   << FLT_MIN_EXP << endl;
  35. cout << "double:         "   << DBL_MIN_EXP << endl;
  36. //十进制浮点数的指数最大值
  37. cout << "十进制浮点数的指数最大值:" << endl;
  38. cout << "float:           "   << FLT_MAX_10_EXP << endl;
  39. cout << "double:         "   << DBL_MAX_10_EXP << endl;
  40. //十进制浮点数的指数最小值
  41. cout << "十进制浮点数的指数最小值:" << endl;
  42. cout << "float:           "   << FLT_MIN_10_EXP << endl;
  43. cout << "double:         "   << DBL_MIN_10_EXP << endl;
  44. system("pause");
  45. return 0;
  46. }

运行结果

使用头文件cfloat中的符号常量获知浮点类型数据的表数范围---gyy整理

使用头文件cfloat中的符号常量获知浮点类型数据的表数范围---gyy整理

 

上一篇:CSS中padding、margin、bordor属性详解


下一篇:poj3071