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

时间:2022-09-01 14:19:09

使用头文件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整理

 

使用头文件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&plus;&plus;常用函数】头文件&lt&semi;algorithm&gt&semi;中的常用函数(绝对值,交换,比较)

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

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

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

  8. 头文件&lt&semi;cmath&gt&semi;中常用函数

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

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

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

随机推荐

  1. Nginx服务器之基础学习

    一.Nginx介绍 nginx:Nginx是一种软件服务器(轻量级),故它最主要的功能就是可以与服务器硬件结合,我们的应用程序可以放在nginx服务器上进行发布,已达到让网民浏览的效果.除此自外,Ng ...

  2. Windows 下Apace tomcat

    java JDK安装: 1. 官方www.oracle.com 下载jdk 2. 环境变量配置 (1)新建->变量名:JAVA_HOME变量值:C:\Program Files (x86)\Ja ...

  3. Java EE学习——Quartz的Cron表达式

    经历过低谷后,还是要好好学习,越失落会越来越落后. 今天写一下Cron表达式的用法,虽然是之前自己写的,也过了挺长一段时间,这次就拿出来作为回顾吧. Cron表达式是Quartz的精髓(个人觉得),比 ...

  4. Android开发&colon;碎片Fragment完全解析fragment&lowbar;main&period;xml&sol;activity&lowbar;main&period;xml(转)

    注明:这个转的,见谅未能标明原始出处 我们都知道,Android上的界面展示都是通过Activity实现的,Activity实在是太常用了,我相信大家都已经非常熟悉了,这里就不再赘述. 但是Activ ...

  5. 控件动态产生器(使用RegisterClasses提前进行注册)

    代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-- ...

  6. SherlockactionBar中手动调用onCreateOptionsMenu的办法

    我们有时候要做做事的时候,要提前拿到 ActionBar中的menuItem,但是,会出现为空的情况.怎么办呢? 比如这里: @Override public boolean onCreateOpti ...

  7. 拿起cl&period;exe,放下IDE

    笔者在这里介绍一种使用cl.exe编译源文件的方法,可以手动执行编译过程而不再依赖IDE,此外,笔者还介绍一些使用cl.exe编译简单源代码的方式. cl.exe是windows平台下的编译连接程序, ...

  8. H5 拖放

    HTML 5 拖放 HTML5 音频 HTML5 画布 拖放(Drag 和 drop)是 HTML5 标准的组成部分. 拖放 拖放是一种常见的特性,即抓取对象以后拖到另一个位置. 在 HTML5 中, ...

  9. virtualenv搭建python3 环境

    参考 1.安装python3 安装脚本如下: wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz tar zxvf Python ...

  10. openstack网络基本概念(转)

    OpenStack的Neutron能够管理OpenStack环境中的虚拟 网络基础设施(VNI).和物理网络基础设施(PNI). OpenStack的Neutron同意租户创建虚拟网络拓扑结构.包括的 ...