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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用头文件cfloat中的符号常量获知浮点类型数据的表数范围---gyy整理相关的知识,希望对你有一定的参考价值。

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

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

 

 

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

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

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

 

<cfloat> 头文件各字符常量的取值和含义技术分享

技术分享

 

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

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型十进制浮点数的最大指数

 

 

 

 

[cpp] view plain copy
 
  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.      
  12.     cout << "Maximum values:" << endl;      
  13.     cout << "float:           "   << FLT_MAX << endl;      
  14.     cout << "double:         "   << DBL_MAX << endl;        
  15.    
  16.     cout << "Minimum values:" << endl;      
  17.     cout << "float:           "   << FLT_MIN << endl;      
  18.     cout << "double:         "   << DBL_MIN << endl;      
  19.         
  20.     system("pause");      
  21.       
  22.     return 0;      
  23. }       


运行结果

 

技术分享

 

 

[cpp] view plain copy
 
  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.     //浮点数的最大值  
  14.     cout << "浮点数的最大值:" << endl;      
  15.     cout << "float:           "   << FLT_MAX << endl;      
  16.     cout << "double:         "   << DBL_MAX << endl;      
  17.       
  18.     //浮点数的最小值  
  19.     cout << "浮点数的最小值:" << endl;      
  20.     cout << "float:           "   << FLT_MIN << endl;      
  21.     cout << "double:         "   << DBL_MIN << endl;    
  22.   
  23.   
  24.     //浮点数的精度  
  25.     cout << "浮点数的精度:" << endl;      
  26.     cout << "float:           "   <<FLT_DIG << endl;      
  27.     cout << "double:         "   << DBL_DIG << endl;    
  28.   
  29.     //浮点数的二进制有效数字位数(尾数所占位数,包括符号位)  
  30.     cout << "浮点数的二进制有效数字位数(尾数所占位数,包括符号位):" << endl;      
  31.     cout << "float:           "   <<FLT_MANT_DIG << endl;      
  32.     cout << "double:         "   << DBL_MANT_DIG << endl;    
  33.   
  34.   
  35.       
  36.     //二进制浮点数的指数最大值  
  37.     cout << "二进制浮点数的指数最大值 :" << endl;      
  38.     cout << "float:           "   << FLT_MAX_EXP << endl;      
  39.     cout << "double:         "   << DBL_MAX_EXP << endl;   
  40.   
  41.      //二进制浮点数的指数最小值  
  42.     cout << "二进制浮点数的指数最小值:" << endl;      
  43.     cout << "float:           "   << FLT_MIN_EXP << endl;      
  44.     cout << "double:         "   << DBL_MIN_EXP << endl;   
  45.   
  46.      //十进制浮点数的指数最大值  
  47.     cout << "十进制浮点数的指数最大值:" << endl;      
  48.     cout << "float:           "   << FLT_MAX_10_EXP << endl;      
  49.     cout << "double:         "   << DBL_MAX_10_EXP << endl;   
  50.   
  51.      //十进制浮点数的指数最小值  
  52.     cout << "十进制浮点数的指数最小值:" << endl;      
  53.     cout << "float:           "   << FLT_MIN_10_EXP << endl;      
  54.     cout << "double:         "   << DBL_MIN_10_EXP << endl;  
  55.         
  56.     system("pause");      
  57.       
  58.     return 0;      
  59. }       


运行结果

 

技术分享

技术分享

 

以上是关于使用头文件cfloat中的符号常量获知浮点类型数据的表数范围---gyy整理的主要内容,如果未能解决你的问题,请参考以下文章

<cfloat> (float.h)

实验7总结

汇编代码还原第一讲,基本类型以及浮点编码.

c复习过程随笔二

C语言符号常量定义

作业七 总结