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

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

计算机里的最基本的存储单位用位(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位都是准确的。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

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. java中单精度浮点数和双精度浮点数_什么是浮点型?单精度浮点数(float)和双精度浮点数(double)介绍...

    作为一名java学习者,怎能不懂这些java基础中的基础呢?本文就带各位温顾温顾java浮点型.单精度浮点数.双精度浮点数. 浮点型首先明确java中浮点型数据类型主要有:单精度float.双精度do ...

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

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

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

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

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

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

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

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

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

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

最新文章

  1. bzoj5183 [Baltic2016]Park
  2. An Introduction to Hashing in the Era of Machine Learning
  3. new,is和as运算符解析及运行时类型,对象,线程堆栈,托管堆之间的联系
  4. strncpy与strcpy的区别与注意事项
  5. 装上了Visual Studio 2005
  6. 《结对-贪吃蛇-设计文档》
  7. linux 线程 waitforsingleobject,WaitForSingleObject、WaitForMulitpleObjects和SignalObjectAndWait线程同步...
  8. 删除了几个月的照片能找回么_iPhone的相册管理功能居然这么强大?删掉的照片还能这样找回?...
  9. UVA495 Fibonacci Freeze【大数+万进制】
  10. 洛谷P3369 【模板】普通平衡树(STL做法:vectormultiset)
  11. 为 macOS Monterey 优化,有了快捷指令,这些软件效率倍增
  12. 如何将运维的报警做成运营的报警--Java后端架构
  13. 【设计过程】.NET ORM FreeSql WhereDynamicFilter 动态表格查询功能
  14. SyntaxError: Non-UTF-8 code starting with ‘\xd5‘ in file
  15. win10或win11打印机无法打印
  16. python实例013--定义一个矩形类
  17. 阿里巴巴首次揭秘电商知识图谱AliCoCo!淘宝搜索原来这样玩!
  18. 2020-05-19
  19. 全能卸载优化工具(HiBit Uninstaller)1.4.45汉化便携版
  20. 个人搭建阿里云轻量级服务器

热门文章

  1. K26 SOM从emmc启动linux——2
  2. Vue 彩色头像|一个有趣的头像生成器 附源码
  3. java 通知_基于Java API实现通知机制
  4. 吴恩达机器学习(十三)使用matlab实现代价函数
  5. 基于Python生成铅笔素描图
  6. java启动找不到监听_初学监听器,报错找不到,请指正,谢谢。环境为eclipse
  7. asp 采集系统_在微服务框架中添加SkyWalking+SkyApm-dotnet分布式链路追踪系统
  8. 使用小皮面板解决Mysql 2006 错误
  9. 【Methodot低代码教程系列03】——零代码十分钟制作电影票房管理后台
  10. 【程序计数器】概念、作用、特点、线程私有、本地方法的概述_JVM02