使用头文件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. spring读取prperties配置文件(2)

    接上篇,spring读取prperties配置文件(1),这一篇主要讲述spring如何用annotation的方式去读取自定义的配置文件. 这里我先定义好属性文件"user.propert ...

  2. C++对象的JSON序列化与反序列化探索续-复杂对象的序列化与反序列化

    本文是基本上一篇博文进行改进而成,上一篇请见: C++对象的JSON序列化与反序列化探索 此处就不多说了,直接上代码. 1. 序列化基类 #pragma once #include <strin ...

  3. Java多线程(三) 多线程间的基本通信

    多条线程在操作同一份数据的时候,一般需要程序去控制好变量.在多条线程同时运行的前提下控制变量,涉及到线程通信及变量保护等. 本博文主要总结:①线程是如何通信  ②如何保护线程变量 1.Java里的线程 ...

  4. linux网络编程九:splice函数,高效的零拷贝

    from:http://blog.csdn.net/jasonliuvip/article/details/22600569 linux网络编程九:splice函数,高效的零拷贝 最近在看<Li ...

  5. Mac OS X安装OpenCV 3.1.0

    在我的上一篇文章“”中已经介绍了Linux下OpenCV的安装配置方法,在这里仅仅记录Mac上相对于Linux的一点点差异. 1. 安装依赖包 Mac上安装软件包使用的工具是brew,用此来替代Ubu ...

  6. web组件新学--layer

    在之前项目后台管理界面开发中,不知道有layer这样好用的组件,我的内心是这样的的...呀!这个框架有弹框,哈哈哈,好开心,不用自己写遮罩层,不用自己写弹框,好开森.. 当知道有layer之后.... ...

  7. C# 实现HTML5服务器推送事件

    为什么需要服务器推送事件: 因为如果需要保持前台数据的实时更新例如,IM聊天,股票信息, 1.可以在客户端不断地调用服务端的方法来获得新数据,但是这样会很消耗服务器资源,导致系统变慢! 2 html5 ...

  8. JS滑动门,JQuery滑动门

    <a href="#" id="one1" onmouseover="setTab('one',1,2)" class="h ...

  9. jquery横向滚动条

    此代码献给wendy 由于工作太忙,下次再整理成插件调用,先记录下来,欢迎同学们提意见. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tr ...

  10. 初次接触pyqt

    基本了解了pyqt的原理,到http://www.riverbankcomputing.co.uk/news下载安装好qt后,桌面上会出现Qt Designer. 我们可以利用它进行界面的设计,然后保 ...