c语言浮点型菜鸟教程,C语言菜鸟基础教程之单精度浮点数与双精度浮点数
上节课 简单介绍了浮点数。计算机程序中的浮点数分为单精度浮点数和双精度浮点数。
单精度和双精度精确的范围不一样。
计算机里的最基本的存储单位用位(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语言菜鸟基础教程之单精度浮点数与双精度浮点数相关推荐
- python基础教程博客_python基础教程(一)
之所以选择py交易有以下几点:1.python是胶水语言(跨平台),2.python无所不能(除了底层),3.python编写方便(notepad++等文本编辑器就能搞事情),4.渗透方面很多脚本都是 ...
- python基础教程攻略-python基础教程(一)
之所以选择py交易有以下几点:1.python是胶水语言(跨平台),2.python无所不能(除了底层),3.python编写方便(notepad++等文本编辑器就能搞事情),4.渗透方面很多脚本都是 ...
- python基础教程是什么-Python基础教程(一)
之所以选择py交易有以下几点:1.python是胶水语言(跨平台),2.python无所不能(除了底层),3.python编写方便(notepad++等文本编辑器就能搞事情),4.渗透方面很多脚本都是 ...
- 新编大学计算机基础教程txt,新编大学计算机基础教程新大学计算机基础教程.doc...
新编大学计算机基础教程新大学计算机基础教程 <新编大学计算机基础教程>教学设计设计人:hbx基本信息课时:75 课程类型:新编大学计算机基础教程学分:10后续课程:组网技术.操作系统课程设 ...
- java中单精度浮点数和双精度浮点数_什么是浮点型?单精度浮点数(float)和双精度浮点数(double)介绍...
作为一名java学习者,怎能不懂这些java基础中的基础呢?本文就带各位温顾温顾java浮点型.单精度浮点数.双精度浮点数. 浮点型首先明确java中浮点型数据类型主要有:单精度float.双精度do ...
- ASP.NET Core 基础教程 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core 基础教程 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 是对 ASP.NET 有重大意义的一次重新设计.本章节我们将介绍 A ...
- excel 画散点图 怎么设置图片的分辨率_Slynyrd像素画教程:像素画基础教程
Slynyrd像素画教程:像素画基础教程 作者:Slynyrd[1] 翻译:三二 (转载请注明出处) 关注公众号:教你画像素画 微信号:pixelfish 微博:教你画像素画2014 在合适的条件下, ...
- 计算机应用基础李健,计算机应用基础教程 李健苹 计算机应用基础教程 第4章...
计算机应用基础教程 李健苹 计算机应用基础教程 第4章 (58页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 主讲人:李健苹 2011.2 ...
- keyshot渲染图文教程_KeyShot渲染教程,KeyShot渲染基础教程步骤图文详解
KeyShot渲染教程,KeyShot渲染基础教程步骤图文详解 KeyShot渲染教程,在我们导入了项目之后,接着我们就要输出图片或者动画了.这里有许多动态的方式来完成,在开始渲染之前,我们来设置我们 ...
- 根据iphone3/ios5开发基础教程-录制ios视频基础教程-视频下载专辑/反馈
根据iphone3/ios5开发基础教程-录制ios视频基础教程-视频下载专辑/反馈 原文地址:http://www.lwxshow.com/forum-2-1.html 大家觉得有必要下载高清版本的 ...
最新文章
- bzoj5183 [Baltic2016]Park
- An Introduction to Hashing in the Era of Machine Learning
- new,is和as运算符解析及运行时类型,对象,线程堆栈,托管堆之间的联系
- strncpy与strcpy的区别与注意事项
- 装上了Visual Studio 2005
- 《结对-贪吃蛇-设计文档》
- linux 线程 waitforsingleobject,WaitForSingleObject、WaitForMulitpleObjects和SignalObjectAndWait线程同步...
- 删除了几个月的照片能找回么_iPhone的相册管理功能居然这么强大?删掉的照片还能这样找回?...
- UVA495 Fibonacci Freeze【大数+万进制】
- 洛谷P3369 【模板】普通平衡树(STL做法:vectormultiset)
- 为 macOS Monterey 优化,有了快捷指令,这些软件效率倍增
- 如何将运维的报警做成运营的报警--Java后端架构
- 【设计过程】.NET ORM FreeSql WhereDynamicFilter 动态表格查询功能
- SyntaxError: Non-UTF-8 code starting with ‘\xd5‘ in file
- win10或win11打印机无法打印
- python实例013--定义一个矩形类
- 阿里巴巴首次揭秘电商知识图谱AliCoCo!淘宝搜索原来这样玩!
- 2020-05-19
- 全能卸载优化工具(HiBit Uninstaller)1.4.45汉化便携版
- 个人搭建阿里云轻量级服务器
热门文章
- K26 SOM从emmc启动linux——2
- Vue 彩色头像|一个有趣的头像生成器 附源码
- java 通知_基于Java API实现通知机制
- 吴恩达机器学习(十三)使用matlab实现代价函数
- 基于Python生成铅笔素描图
- java启动找不到监听_初学监听器,报错找不到,请指正,谢谢。环境为eclipse
- asp 采集系统_在微服务框架中添加SkyWalking+SkyApm-dotnet分布式链路追踪系统
- 使用小皮面板解决Mysql 2006 错误
- 【Methodot低代码教程系列03】——零代码十分钟制作电影票房管理后台
- 【程序计数器】概念、作用、特点、线程私有、本地方法的概述_JVM02