浮点数7位有效数字。
双精度数16位有效数字。

浮点数取值范围:
负数取值范围为 -3.4028235E+38 到 -1.401298E-45,正数取值范围为 1.401298E-45 到 3.4028235E+38。

双精度数取值范围:
负值取值范围-1.79769313486231570E+308 到 -4.94065645841246544E-324,正值取值范围为 4.94065645841246544E-324 到 1.79769313486231570E+308。

C/C++中浮点数的表示遵循IEEE 754标准。
一个浮点数由三部分组成:符号位S、指数部分E(阶码)以及尾数部分M(如下)。
  Float
S--------E-------M
1位-----8位-----23位

Double
S--------E-------M
1位-----11位----52位

浮点数的精度取决于尾数部分。尾数部分的位数越多,能够表示的有效数字越多。

单精度数的尾数用23位存储,加上默认的小数点前的1位1,2^(23+1) = 16777216。因为 10^7 < 16777216 < 10^8,所以说单精度浮点数的有效位数是7位。

双精度的尾数用52位存储,2^(52+1) = 9007199254740992,10^16 < 9007199254740992 < 10^17,所以双精度的有效位数是16位。

浮点数的标准二进制数值表示:

IEEE 754

短浮点数和有符号整型一样,符号位是1,表示负数;符号位是0,表示正数。

指数位部分既可表示正指数又可表示负指数。因此,指数位部分通过实际指数值加上偏差值127的方法计算。例如:实际指数值为-15,该浮点数的指数位值是112。由于偏差值的作用,实际指数值的有效范围为-127到128。

有效位表示标准二进制数值的分数部分。标准二进制数值大于1小于10并包含小数部分。小数部分很重要,因此被包含在浮点数格式中。标准值通常都大于1,因此格式中无需包含1。

下文为将一个十进制数字转换成短浮点数值的实例。

实例: 22.625

22 = (10110)2

0.625 = (.101)2

10110.101 = 1.0110101 x 2^4 (标准值)

符号位 = 0 (正数)

指数位 = 4 + 127  = 131 = 10000011

有效位 = 0110101[16个零]

短浮点数 = 0 10000011 0110101[16个零]

如果将一个短浮点数值转换成十进制数值,应用如等式1-1。

数值 = (-1)^符号位x [1 + (有效位/2^23)] x 2^(指数位 –127)

浮点数(单精度、双精度数)的有效位相关推荐

  1. 单精度浮点数和双精度浮点数_浮点数和双精度数之间的区别

    单精度浮点数和双精度浮点数 Here you will learn about difference between float and double i.e. float vs double. 在这 ...

  2. c语言中单精度的有效位数是,C语言中的单精度双精度数的有效位数

    #include "stdio.h" #include "conio.h" void main() { printf("%.20f\n",0 ...

  3. 浮点数单精度双精度存储

    浮点数如何存储      C语言和C#语言中,对于浮点类型的数据采用单精度类型(float)和双精度类型(double)来存储,float数据占用32bit,double数据占用64bit.单精度类型 ...

  4. c语言两个浮点数相加_C语言中两个浮点数或双精度数的模数

    c语言两个浮点数相加 As we know that modules also known as the remainder of the two numbers can be found using ...

  5. 单精度在计算机中的存储,浮点数(单精度浮点数与双精度浮点数)在计算机中的存储...

    浮点数在计算机中的存储 十进制浮点数格式: 浮点数格式使用科学计数法表示实数.科学计数法把数字表示为系数(coefficient)(也称为尾数(mantissa)),和指数 (exponent)两部分 ...

  6. 浮点数双精度,单精度以及半精度知识总结

    最近工作中遇到一个16位半精度浮点数的问题,纠结了很久,特此研究了一下,总结在此: 1.单精度(32位)浮点数的结构: 名称  长度 比特 位置 符号位 Sign(S):  1bit     (b31 ...

  7. c语言单精度浮点数规格化,对浮点数的一些理解

    浮点数的范围和有效位 对于浮点数,其能表示的数值范围和其有效位如下 类型 比特位 数值范围 有效位 float 32 -3.410^38-+3.410^38 6~7位 double 64 -1.710 ...

  8. matlab的单精度浮点数,浮点数的表示和精度_单精度浮点数的表示

    浮点数的表示和精度 如果a>0,那么1+a一定大于1吗?在数学上,答案是肯定的.但在计算机上,答案就与a的大小和浮点数的精度有关了.在matalb上,可以作以下计算: >> a=1/ ...

  9. 单精度浮点数存储、双精度浮点数存储

    单精度浮点数存储 其中最高位为符号位S:0代表 +,1代表-,E为指数位,M有有效位 例如: 那如果此时我的指数是一个负数呢? 这里IEEE还有特别规定: 有效数字M: M可以写成1.×××,其中×× ...

最新文章

  1. 构建之法课后作业第二次作业第一题
  2. 《HttpClient官方文档》2.1 连接持久性-2.2 HTTP连接路由
  3. w7计算机的工具栏爱那里,Win7系统如何在任务栏中添加爱心图标图文教程
  4. 隐函数画图with R
  5. 为什么 Django 框架持续统治着 Python 开发?
  6. OGC之路(1) 之 WMS标准学习总结
  7. Android之build.gradle配置签名
  8. 21副酷炫的动图让你了解各种数学概念
  9. python中的super用法详解_Python中super函数用法实例分析
  10. vuejs项目如何修改node_mudule为公用文件?
  11. 浅谈jQuery宽高及其应用
  12. 给vc6对话框添加菜单
  13. 使用高通解析ramdump tool 遇到的问题
  14. 计算机上自带的打字游戏,Steam这款打字游戏,让多少人想起自己曾经学校上电脑课的日子?...
  15. 计算机网络的硬件系统包含那些部件,计算机的硬件系统主要包括哪五大部件
  16. XSS盗取用户信息实验(详细)及xss之旅闯关
  17. 什么是系统时钟?什么是时钟系统?时钟系统有什么作用?
  18. ESXi8.0中NVME硬盘不识别解决方法1,设置直通
  19. android animation
  20. C语言中经典算法——斐波那契数列的几种算法

热门文章

  1. java 正序a~z_2019届vivo秋招笔试题【字符串排序】【链表奇数位正序偶数位逆序】【最长回文子串】...
  2. c++ map取值的find、[]、at方法特性对比
  3. 马化腾传奇之一“我们从来没有认为自己是领袖”
  4. ZBrush教程视频教程-ZBrush教程教程下载
  5. Python入门必须知道的11个知识点!
  6. 怎样将dwg格式转换成pdf?
  7. PHP用数组遍历新闻列表,php数组遍历_php
  8. 不刷单,中小卖家如何提升店铺流量?
  9. sysbench cpu 性能测试
  10. V-Ray太阳光使用教程分享