使用头文件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型十进制浮点数的最大指数

#include <iostream>     
#include <cfloat>     
using namespace std;    
int main()    
{    
    cout << "Size:" << endl;    
    cout << "float is     "   << sizeof (float)     << "bytes." << endl;    
    cout << "double is   "   << sizeof (double)   << "bytes." << endl;    
    cout << "long double is    "   << sizeof (long double)    << "bytes." << endl << endl;     
    cout << "Bits per byte = " << CHAR_BIT << endl << endl;    
   
    cout << "Maximum values:" << endl;    
    cout << "float:           "   << FLT_MAX << endl;    
    cout << "double:         "   << DBL_MAX << endl;      
 
    cout << "Minimum values:" << endl;    
    cout << "float:           "   << FLT_MIN << endl;    
    cout << "double:         "   << DBL_MIN << endl;    
      
    system("pause");    
    
    return 0;    
}     

运行结果



#include <iostream>     
#include <cfloat>     
using namespace std;    
int main()    
{    
    //浮点数在内存中的存储大小(字节)
	cout << "浮点数在内存中的存储大小(字节):" << endl;    
    cout << "float is     "   << sizeof (float)     << "bytes." << endl;    
    cout << "double is   "   << sizeof (double)   << "bytes." << endl;    
    cout << "long double is    "   << sizeof (long double)    << "bytes." << endl << endl;     
    cout << "Bits per byte = " << CHAR_BIT << endl << endl;    
   
    //浮点数的最大值
	cout << "浮点数的最大值:" << endl;    
    cout << "float:           "   << FLT_MAX << endl;    
    cout << "double:         "   << DBL_MAX << endl;    
	
    //浮点数的最小值
    cout << "浮点数的最小值:" << endl;    
    cout << "float:           "   << FLT_MIN << endl;    
    cout << "double:         "   << DBL_MIN << endl;  


	//浮点数的精度
    cout << "浮点数的精度:" << endl;    
    cout << "float:           "   <<FLT_DIG << endl;    
    cout << "double:         "   << DBL_DIG << endl;  

	//浮点数的二进制有效数字位数(尾数所占位数,包括符号位)
    cout << "浮点数的二进制有效数字位数(尾数所占位数,包括符号位):" << endl;    
    cout << "float:           "   <<FLT_MANT_DIG << endl;    
    cout << "double:         "   << DBL_MANT_DIG << endl;  


	
    //二进制浮点数的指数最大值
    cout << "二进制浮点数的指数最大值 :" << endl;    
    cout << "float:           "   << FLT_MAX_EXP << endl;    
    cout << "double:         "   << DBL_MAX_EXP << endl; 

	 //二进制浮点数的指数最小值
    cout << "二进制浮点数的指数最小值:" << endl;    
    cout << "float:           "   << FLT_MIN_EXP << endl;    
    cout << "double:         "   << DBL_MIN_EXP << endl; 

     //十进制浮点数的指数最大值
    cout << "十进制浮点数的指数最大值:" << endl;    
    cout << "float:           "   << FLT_MAX_10_EXP << endl;    
    cout << "double:         "   << DBL_MAX_10_EXP << endl; 

	 //十进制浮点数的指数最小值
    cout << "十进制浮点数的指数最小值:" << endl;    
    cout << "float:           "   << FLT_MIN_10_EXP << endl;    
    cout << "double:         "   << DBL_MIN_10_EXP << endl;
      
    system("pause");    
    
    return 0;    
}     

运行结果




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值