头文件:

<cfloat> (float.h)


浮点类型的特性

这个头文件为特殊系统和编译器的实现描述了浮点类型的特征.

一个浮点数包含四个元素:

  • 一个标志(a sign):正或负;
  • 一个基数(a base):这表示一串不同的数字能够被一个个单一的数字所表示(2 就是二进制(binary),10就是十进制(decimal),16就是十六进制(hexadecimal)...);
  • 一个有效数(a significand):这是一系列前面所谈到的基数的数字,在这一系列中数字的位数就是众所周知的精度;
  • 一个指数(an exponent):它代表着有效数字的偏移量,用下面的方式影响着其值:
  浮点数值 = 有效数 x 基数 指数 ,(还有相应的标志(sign))
  (image)

宏常量


下面的表格显示了这个头文件中定义的不同的变量的名称和所有实现的最小值最大值
(具体的实现可能有的值比这个大或者小 按照说明):

  当一组宏存以FLT_,DBL_和LDBL_为前缀时,以FLT_开头的适用于float,以DBL_开头的适用于double,以LDBL_开头的适用于long double;

名称 代表 表示
FLT_RADIX 2或者更大 基数 (radix) 所有浮点数类型的基数
FLT_MANT_DIG
DBL_MANT_DIG
LDBL_MANT_DIG
 

尾数的位数

(MANTissa DIGits)

 有效数的精度,符合有效数字的位数
FLT_DIG
DBL_DIG
LDBL_DIG

6 或者更大

10 或者更大

10 或者更大

精度

(DIGits)

带十进制的数能够转化为一个浮点数并且将其再次转化回来时不改变整数数字

FLT_MIN_EXP
DBL_MIN_EXP
LDBL_MIN_EXP
   最小的指数 用于生成一个标准化的浮点数指数的最小负整数值
FLT_MIN_10_EXP
DBL_MIN_10_EXP
LDBL_MIN_10_EXP

-37 或者更小

-37 或者更小

-37 或者更小

最小以10为基数的指数

用于生成一个标准浮点数的十进制指数表达式

的最小负整数

FLT_MAX_EXP
DBL_MAX_EXP
LDBL_MAX_EXP
   最大的指数  用于生成一个标准化的浮点数指数的最大整数值
FLT_MAX_10_EXP
DBL_MAX_10_EXP
LDBL_MAX_10_EXP

37 或者更大

37 或者更大

37 或者更大

 最大以10为基数的指数

用于生成一个标准浮点数的十进制指数表达式

的最大整数

FLT_MAX
DBL_MAX
LDBL_MAX
1E+37 或者更大
1E+37 或者更大
1E+37 或者更大
 最大数  表示最大有限的浮点数
FLT_EPSILON
DBL_EPSILON
LDBL_EPSILON
1E-5 或者更小
1E-9 或者更小
1E-9 或者更小
 EPSILON :)  能够表示1和最小值的差大于1
FLT_MIN
DBL_MIN
LDBL_MIN
1E-37 或者更小
1E-37 或者更小
1E-37 或者更小
 最小数  表示最小有限的浮点数
FLT_ROUNDS    舍入方式

舍入行为,可能的值:

-1:未确定的

0:向0舍入

1:四舍五入

2:向正无穷

3:向负无穷

*适用于所有浮点类型(float,double和long double)

FLT_EVAL_METHOD    赋值方式

赋值格式的属性,可能的值:

-1:未确定的

0:赋值类型的范围和精度

1:赋值时将float和double当作double,

long double 当作long double

2:赋值时所有都当作long double,其它负数都表示为实现的定义(implementation-defined)行为

*适用于所有浮点类型

DECIMAL_DIG    小数精度

可以将一个十进制数转化一个浮点类型的数字,

并且再次转为到与原来一样的数字时不丢失精度

通用性


FLT_EVAL_METHOD DECIMAL_DIG 是在符合C99标准的库中定义的或者只在符合C11的库中

请参阅


<climits> (limits.h) 整数类型的大小

/*

  第一次修改时间:2016年1月30日 20:32:35

*/

<cfloat> (float.h)的更多相关文章

  1. C 标准库系列之float.h

    float.h 内部主要包含了一系列的浮点数宏.指明可移植程序必要的常量:浮点数格式一般为Spxbe;其中S表示+-:p表示底数.b表示基数如2.8.10.16等进制,e为指数标识E或e: 在一般情况 ...

  2. <limits.h>和<float.h>

    头文件<limits.h>中定义了用于表示整类型大小的常量.以下所列的值是可接受的最小值,实际系统中可能有更大的值. CHAR_BIT char类型的位数 CHAR_MAX UCHAR_M ...

  3. <math.h>与<float.h>

    (一) <math.h> <math.h>文件中已经定义了M_PI,如下所示,用户可以直接使用: //math.h........................ #if de ...

  4. Standard C 之 math.h和float.h

    对于C Standard Library 可以参考:http://www.acm.uiuc.edu/webmonkeys/book/c_guide/ 或者 http://www.cplusplus.c ...

  5. C 标准库 - <float.h>

    C 标准库 - <float.h> 简介 C 标准库的 float.h 头文件包含了一组与浮点值相关的依赖于平台的常量.这些常量是由 ANSI C 提出的,这让程序更具有可移植性.在讲解这 ...

  6. float.h

    float.h 一背景知识 浮点算术非常复杂   很多小的处理器在硬件指令方面甚至不支持浮点算术   其他的则需要一个独立的协处理器来处理这种运算   只有最复杂的计算机才在硬件指令集中支持浮点运算 ...

  7. <float.h>中DBL_TRUE_MIN的定义和作用

    搬运自己2016年11月22日于SegmentFault发表的文章.链接:https://segmentfault.com/a/1190000007565915 在学习C Prime Plus的过程中 ...

  8. C 标准库系列之limits.h

    limits.h 类似于float.h,其定义了一些列类型的值的范围.限制值,也就是说该类型的值不可以大于该上界或者小于该类型值的下界: glibc中宏定义了一下的值: # define MB_LEN ...

  9. float 浮点数与零值0比较大小

    float x: 千万不要写x==0; 写出float x 与“零值”比较的if语句——一道面试题分析 写出float  x 与“零值”比较的if语句 请写出 float  x 与“零值”比较的 if ...

随机推荐

  1. mysql使用Navicat 导出和导入数据库

    系统环境: Win7 x64软件准备:Navicat Premium_11.2.7简体中文版下载网址:http://www.cr173.com/soft/419023.html 现在我就向大家介绍 m ...

  2. Android 复制 粘贴 剪贴板的使用 ClipboardManager

    Copy and Paste 版本:Android 4.0 r1  快速查看 用于复制粘贴数据的基于剪贴板的框架. 同时支持简单和复杂的数据,包括文本串.复杂的数据结构.文本和二进制流数据.程序 as ...

  3. STM32F103 ucLinux开发之一(BOOT分析及源码)

    STM32F103 ucLinux开发BOOT STM3210E-EVAL官方开发板主芯片STM32F103ZET6: 片内512K Flash,地址0x0800 0000 ~ 0x0807 FFFF ...

  4. 如何在jsp页面获取系统时间

    <%@ page import="java.util.*"%> //获取系统时间必须导入的 <%@ page import="java.text.*&q ...

  5. MySQL中的事件/定时任务

    转载自:http://www.cnblogs.com/chenpi/p/5137310.html 什么是事件 一组SQL集,用来执行定时任务,跟触发器很像,都是被动执行的,事件是因为时间到了触发执行, ...

  6. 开源框架:DBUtils使用详解

    一.先熟悉DBUtils的API: 简介:DbUtils是一个为简化JDBC操作的小类库. (一)整个dbutils总共才3个包: 1.包org.apache.commons.dbutils    接 ...

  7. react-router-dom和本地服务本地开发 (node、webpack)

    场景 使用react 做开发,避免会使用react-router React Router 已经是V4的版本 React Router 目前已经被划分成了三个包:react-router,react- ...

  8. Yii中实现分页

    $criteria = new CDbCriteria(); // 查询字段 $criteria->select = 'id, name, create_time'; // 排序 $criter ...

  9. PHP文档生成器(PHPDoc)的基本用法

    目录 PHP文档生成器(PHPDoc)的基本用法 PHPDoc概述 安装 PHPDoc注释规范 页面级别的注释 代码级别的注释 生成API文档 额外软件 PHP文档生成器(PHPDoc)的基本用法 P ...

  10. php 遍历一个文件夹下的所有文件和子文件

    php 遍历一个文件夹下的所有文件和子文件 <?php /** * 将读取到的目录以数组的形式展现出来 * @return array * opendir() 函数打开一个目录句柄,可由 clo ...