上节课 简单介绍了浮点数。计算机程序中的浮点数分为单精度浮点数和双精度浮点数。

单精度和双精度精确的范围不一样。

计算机里的最基本的存储单位用位(bit)来表示。bit只能用来存储0或1。

稍大一点的单位是字节(Byte,简写为B)。

再大一级的是千字节(kilo Bytes),用k来表示。

再大一级的单位是兆字节(Mega Bytes),用M来表示。一张照片的大小通常为1~3M。

再大一级的单位为G。一部高清电影的大小通常为1~2G。

再大一级的单位为T。

换算关系为:

1B = 8bit

1k = 1024B = 2^10 B

1M = 1024k = 2^20 B

1G = 1024M = 2^30 B

1T = 1024G = 2^40 B

单精度(float)在计算机中存储占用4字节,32位,有效位数为7位(6位小数+小数点)。

双精度(double)在计算机中存储占用8字节,64位,有效位数为16位(15位小数+小数点)。

不管是float还是double,在计算机中的存储都遵循IEEE规范,使用二进制科学计数法,都包含三个部分:符号位、指数位和尾数部分。其中float的符号位、指数位(即整数部分)、尾数部分分别为1, 8, 23。双精度则分别为1, 11, 52。

float

double

精度主要取决于尾数部分的位数,float为23位,最小为2的-23次方,约等于1.19乘以10的-7次方,所以float小数部分只能精确到后面6位,加上小数点算做一位,即有效数字为7位。

类似,double 尾数部分52位,最小为2的-52次方,约为2.22乘以10的-16次方,所以精确到小数点后15位,有效位数为16位。

程序验证:

#include

int main()

{

float a = 1.123456789;

printf("a = %20.9f\n", a);

double b = 2.123456789;

printf("b = %20.9f\n", b);

return 0;

}

注意:这里%20.9f表示浮点数总共有20位,其中小数占9位。不足20位的部分,左侧用空格来填充。

运行结果:

a = 1.123456836

b = 2.123456789

从运行结果可以看出,单精度浮点数小数部分只有前6位是准确的,后三位是不准确的。双精度小数部分9位都是准确的。

时间: 2017-10-01

c语言浮点数菜鸟教程,C语言菜鸟基础教程之单精度浮点数与双精度浮点数相关推荐

  1. python基础教程博客_python基础教程(一)

    之所以选择py交易有以下几点:1.python是胶水语言(跨平台),2.python无所不能(除了底层),3.python编写方便(notepad++等文本编辑器就能搞事情),4.渗透方面很多脚本都是 ...

  2. python基础教程攻略-python基础教程(一)

    之所以选择py交易有以下几点:1.python是胶水语言(跨平台),2.python无所不能(除了底层),3.python编写方便(notepad++等文本编辑器就能搞事情),4.渗透方面很多脚本都是 ...

  3. python基础教程是什么-Python基础教程(一)

    之所以选择py交易有以下几点:1.python是胶水语言(跨平台),2.python无所不能(除了底层),3.python编写方便(notepad++等文本编辑器就能搞事情),4.渗透方面很多脚本都是 ...

  4. 新编大学计算机基础教程txt,新编大学计算机基础教程新大学计算机基础教程.doc...

    新编大学计算机基础教程新大学计算机基础教程 <新编大学计算机基础教程>教学设计设计人:hbx基本信息课时:75 课程类型:新编大学计算机基础教程学分:10后续课程:组网技术.操作系统课程设 ...

  5. ASP.NET Core 基础教程 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 基础教程 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 是对 ASP.NET 有重大意义的一次重新设计.本章节我们将介绍 A ...

  6. excel 画散点图 怎么设置图片的分辨率_Slynyrd像素画教程:像素画基础教程

    Slynyrd像素画教程:像素画基础教程 作者:Slynyrd[1] 翻译:三二 (转载请注明出处) 关注公众号:教你画像素画 微信号:pixelfish 微博:教你画像素画2014 在合适的条件下, ...

  7. 计算机应用基础李健,计算机应用基础教程 李健苹 计算机应用基础教程 第4章...

    计算机应用基础教程 李健苹 计算机应用基础教程 第4章 (58页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 主讲人:李健苹 2011.2 ...

  8. keyshot渲染图文教程_KeyShot渲染教程,KeyShot渲染基础教程步骤图文详解

    KeyShot渲染教程,KeyShot渲染基础教程步骤图文详解 KeyShot渲染教程,在我们导入了项目之后,接着我们就要输出图片或者动画了.这里有许多动态的方式来完成,在开始渲染之前,我们来设置我们 ...

  9. 根据iphone3/ios5开发基础教程-录制ios视频基础教程-视频下载专辑/反馈

    根据iphone3/ios5开发基础教程-录制ios视频基础教程-视频下载专辑/反馈 原文地址:http://www.lwxshow.com/forum-2-1.html 大家觉得有必要下载高清版本的 ...

  10. c语言位运算负数的实例_JavaScript基础教程(四)二进制位运算

    JavaScript基础教程二进制位运算 JavaScript中的位运算是针对二进制数据提供的运算与操作.在JavaScript标准中规定了二进制位运算时其操作数长度为32位,其最高位为符号位,因此能 ...

最新文章

  1. 函数图像轻松画:教你用永中图象
  2. Delphi7 (第二天:结构及常用函数)
  3. DeepLearning tutorial(3)MLP多层感知机原理简介+代码详解
  4. JavaScript多浏览器兼容问题
  5. 蓝桥杯-Anagrams问题(java)
  6. linux目录统计编程,linux系统编程----统计一个目录下的普通文件个数
  7. Python 网络爬虫笔记11 -- Scrapy 实战
  8. 更强的压缩比!PostgreSQL开始支持Zstd
  9. Python查找算法之 -- 列表查找和二分查找
  10. 增强for循环:本质是迭代器
  11. 达摩院 2021 十大科技趋势:云原生重塑IT技术体系
  12. cellmap 基站查询 for android
  13. L3-013 非常弹的球 (30 分)
  14. 毕业设计-基于Springboot实现仓库管理系统
  15. 完美卸载office
  16. 圣杯布局和双飞翼布局
  17. 对话哈佛大学教授Lukin:量子计算将在我们有生之年普及! | AI英雄
  18. Linux发行版本及其区别
  19. 一种典型的三极管和MOS管结合的开关控制电路
  20. 7月13日 “B 站崩了” 事件分析

热门文章

  1. 文献密码搜索的方法大全
  2. 旧手机安装Centos
  3. OSChina 清明节乱弹 ——老乡不要害怕,我们不糟蹋你
  4. 使用Facebook的Stetho调试Android应用
  5. C#编程,使用虚拟键盘的一种方法
  6. idea设置Java类注释和方法注释模板(javadoc规范)
  7. jQuery 添加和移除元素
  8. 2021龙小丽高考成绩查询,2021届新生成为重庆高考改革第一批大军
  9. MYSQL数据库提权的几种方法——提权教程
  10. 数据结构之顺序存储结构和链式存储结构分析 , 图文并茂 , 又涨姿势了