头文件:

<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. 双T滤波电路用于PWM方式DAC的分析

    双T滤波电路用于PWM方式DAC的分析   之前做温度控制的时候,用到了PWM到DAC的转化,PWM方波,经过滤波,怎么就变成了直流的信号,之前我也很困惑这一点.用频域的方法可以近似说明,但是严格的数 ...

  2. 使用java原生API模拟请求下载文件

    /** * * @param urlPath * 下载路径 * @param saveDir * 下载存放目录 * @return 返回下载文件 * @throws Exception */ publ ...

  3. trunc(sysdate)的含义是什么

    1.ORACLE中TRUNC是截取的函数

  4. 用java集合模拟登录和注册功能

    package com.linkage.login; import java.util.HashMap;import java.util.Iterator;import java.util.Map;i ...

  5. 【转载】JavaScript导出Excel

    [转载]JavaScript导出Excel 原文地址 如果没有用到前端插件,也没有用到后台poi导出的话,用js导出也是一种方式.亲测可用. /** * 导出excel */ var idTmr; f ...

  6. vuejs 预渲染插件 prerender-spa-plugin 生成多页面 -- SEO

    前端vue等框架打包的项目一般为SPA应用,而单页面是不利于SEO的,现在的解决方案有两种: 1.SSR服务器渲染   了解服务器渲染请进,这里不做记录. 2.预渲染模式   这比服务端渲染要简单很多 ...

  7. qq空间认证教程:借助企鹅媒体平台认证QQ公众空间

    年轻人,最近你是否眼看众多新开的QQ空间认证成功,自己却一筹莫展,而心情极度狂躁焦虑,别急,以下是详细教程,不能保证100%,但老夫已认证成功几个号. 不废话,直接上流程: 方法大致有2种: 1. 通 ...

  8. 干货分享:QQ群排名霸屏优化规则靠前的新技术

    谈起QQ群排名的优化规则,很多人又爱又恨,原因很简单,爱他的都是引流效果是非常好的,通过关键词搜索排名好的技术,能排到全国默认前三,叫人怎能不爱他,恨的原因也恨简单,无论你的群完善的再怎么好,好像都无 ...

  9. CASE WHEN 批量更新

    单个值: UPDATE categories SET display_order = CASE id WHEN 1 THEN 3 WHEN 2 THEN 4 WHEN 3 THEN 5 END WHE ...

  10. php5.4以上 mysqli 实例操作mysql 增,删,改,查

    <?php //php5.4以上 mysqli 实例操作mysql header("Content-type:text/html;charset=utf8"); $conn ...