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

  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. }

运行结果


 

  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整理的更多相关文章

  1. 使用头文件climits中的符号常量获知整型数据的表数范围---gyy整理

    在头文件climits(limits.h)以宏定义的方式定义了各种符号常量来表示各种整型类型表示数的范围,如int的最大最小值,long的最大最小值等. 符号常量 表示 CHAR_BIT char 的 ...

  2. Windows Pe 第三章 PE头文件(中)

    这一章的上半部分大体介绍了下PE文件头,下半部分是详细介绍里面的内容,这一章一定要多读几遍,好好记记基础概念和知识,方便之后的学习. 简单回忆一下: 3.4  PE文件头部解析 3.4.1 DOS M ...

  3. Delphi 制作自定义数据感知控件并装入包(dpk文件)中(与DBText类似的数据感知控件)

    一.基础知识简介: 1.包的命名介绍: 包的命名没有规则,但是建议遵守包的命名约定:包的命名与包的版本相关,包的名称前面几个字符通常表示作者或公司名,也可以是控件的一个描述词,后面紧跟的Std表示运行 ...

  4. Excel如何快速统计一列中相同数值出现的个数--数据透视表

    excel如何快速统计一列中相同数值出现的个数_百度经验 --这里介绍了两种解决方式,用第一种https://jingyan.baidu.com/article/9113f81b2c16822b321 ...

  5. 头文件algorithm中的常用函数

    非修改性序列操作(12个) 循环         对序列中的每个元素执行某操作         for_each() 查找         在序列中找出某个值的第一次出现的位置         fin ...

  6. 【C++常用函数】头文件<algorithm>中的常用函数(绝对值,交换,比较)

    swap(a,b) 用于交换a,b两个变量的值: max(a,b) 返回a,b中的最大值: min(a,b) 返回a,b中的最小值: abs(x) 返回x的绝对值,x必须是整数:

  7. VS2010中如果忘记函数所在的头文件或者忘记函数的输入输出参数类型怎么办?

    先随便找一个熟悉的函数,右击-转到定义,然后写出目标函数,右击-转到定义

  8. 头文件<cmath>中常用函数

    <cmath>里面有很多数学函数,下面说一下常用的一些函数吧:直接把函数原型给了出来,用的时候注意参数 先说一下,c++自身是没有四舍五入函数round()的,若果你要用到的话,可以自己写 ...

  9. 字符函数库 - cctype 和 climits 中的符号常量

    一. C++从C语言中继承一个与字符相关的.非常方便的函数软件包,他可以简化诸如确定字符是否为大写字母‘数字.标点符号等工作,这些函数的原型在头文件cctype(老式的为ctype.h)中定义的.例如 ...

随机推荐

  1. Transaction Script模式

    Transcation Script模式适合于小项目,维护量小的项目. 好比cs文件中有一个主方法,调用了本文件中的其他方法,如果说不需要怎么维护的话Tranacation Script模式就可以了, ...

  2. js实现跨域(jsonp, iframe+window.name, iframe+window.domain, iframe+window.postMessage)

    一.浏览器同源策略 首先我们需要了解一下浏览器的同源策略,关于同源策略可以仔细看看知乎上的一个解释.传送门 总之:同协议,domain(或ip),同端口视为同一个域,一个域内的脚本仅仅具有本域内的权限 ...

  3. Oracle数据类型对应Java类型

    SQL数据类型 JDBC类型代码 标准的Java类型 Oracle扩展的Java类型   1.0标准的JDBC类型:     CHAR java.sql.Types.CHAR java.lang.St ...

  4. 限制SSH访问源,禁止4A之外的地址跳转访问

    [fuel节点] 在/etc/hosts.allow文件中添加: sshd:10.129.0.1:allow sshd:10.129.0.2:allow sshd:10.129.0.3:allow s ...

  5. 暑假集训(5)第一弹——— Super Jumping! Jumping! Jumping!(hdu1087)

    题意概括:在上次与娑殚的三次博弈中,你们都取得了胜利.便向娑殚提出要求,借助他的力量,传送到一个安全的地方. 你们的愿望达成了,不过,你和小A似乎失散了. 街上人来人往的特别热闹,每一个人的脸上都洋溢 ...

  6. bzoj3315:[Usaco2013 Nov]Pogo-Cow

    思路:首先可以写出n^3dp的状态转移方程:f[i][j]=max{f[j][k]+val[i]},f[i][j]表示最后一步跳到点从j点跳到i点的最大价值(状态不能设成f[i],因为j对后面的决策是 ...

  7. XML格式以及相关libxml库学习

    本文参考 XML文件格式语法以及DTD,摘除其中自己认为必要的知识点,在此记录如下. 先给出一个xml的实例文件, <?xml version="1.0" encoding= ...

  8. centos7搭建NIS与NFS综合应用

    实验环境: centos7(服务端)        redhat enterprise linux 7.2(客户端) 实验目的:用centos7的账号,能在redhat enterprise linu ...

  9. STL merge的实现细节

    //std::merge的两个版本 template<class InputIt1, class InputIt2, class OutputIt> //First version Out ...

  10. 如何清除Linux 登陆信息及日志

    本文介绍下,在linux中,如何清除访问日志.登陆日志以及曾用命令的方法.有需要的朋友,参考下吧. 在linux系统中,如何清除访问日志.登陆日志及曾使用过的命令呢? 本文介绍的方法,将删除所有日志, ...