双精度改单精度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位都是准确的。
双精度改单精度c语言程序,C语言菜鸟基础教程之单精度浮点数与双精度浮点数...相关推荐
- c语言浮点型菜鸟教程,C语言菜鸟基础教程之单精度浮点数与双精度浮点数
上节课 简单介绍了浮点数.计算机程序中的浮点数分为单精度浮点数和双精度浮点数. 单精度和双精度精确的范围不一样. 计算机里的最基本的存储单位用位(bit)来表示.bit只能用来存储0或1. 稍大一点的 ...
- c语言浮点数菜鸟教程,C语言菜鸟基础教程之单精度浮点数与双精度浮点数
上节课 简单介绍了浮点数.计算机程序中的浮点数分为单精度浮点数和双精度浮点数. 单精度和双精度精确的范围不一样. 计算机里的最基本的存储单位用位(bit)来表示.bit只能用来存储0或1. 稍大一点的 ...
- 画出识别c语言注释的转换图,C语言程序设计基础与实训教程》第1章:基础知识.ppt...
<C语言程序设计基础与实训教程>第1章:基础知识.ppt>由会员分享,可在线阅读,更多相关<C语言程序设计基础与实训教程>第1章:基础知识.ppt(25页珍藏版)> ...
- c++语言while循环,c++ c语言while 循环语句入门基础教程
c++ c语言while 循环语句入门基础教程 我们来看While 循环语句,它跟 For 循环区别在于,For 循环一般知道循环次数,在第一行里头就指明了,而while循环一般不知道循环次数,下面我 ...
- c语言何编写自定义函数,C语言菜鸟基础教程之自定义函数
C语言菜鸟基础教程之自定义函数 先动手编写程序: #include int add(int x, int y) { int z = x + y; return z; } int main() { in ...
- c语言常用条件判断,C语言菜鸟基础教程之条件判断
(一)if...else 先动手编写一个程序 #include int main() { int x = -1; if(x > 0) { printf("x is a positive ...
- 蜂鸣器发出7种音阶c语言程序_C语言编程新思路
第一章 单元测试 1.单选题: 关于一个C语言程序执行的起点和终点,以下选项正确的是 ( ). 选项: A: main 任意 B: main 最后一个 C: main main D: 第一个 最后一个 ...
- 我的世界c语言程序,C语言基本知识
软件是将一组程序组织起来 每个程序由一组指令组成 数据结构+算法 数据结构 在程序中要指定数据的类型和数据的组织形式. 算法(程序的灵魂) 就是为了解决实际问题而提出的具体方法与步骤. 算法的特点 有 ...
- 棱形旋转c语言程序_C 语言时隔 5 年重回巅峰,这 20 个热门项目拿去练手!
在上个月的 TIOBE 编程语言排名中,C 语言和 Java 的差距只有 0.01%.在近日 TIOBE 公布的 2020 年 5 月编程语言排行榜中,C 语言成功超越了 Java,重返第一的王者宝座 ...
最新文章
- 多版本python共存,安装三方库到指定python版本 多Python版本和虚拟环境
- Android开发工具——ADB(Android Debug Bridge) 二HOST端
- 以指针的形式和以下标的形式访问指针?以指针的形式和以下标的形式访问数组?
- linux 删除小于、大于固定大小的文件
- DOM-11 【兼容】鼠标行为坐标系、pageXY封装、拖拽函数封装
- 《算法导论》读书笔记--第1、2章课后题 (转)
- java远程debug
- C++ 强制类型转换运算符
- TextRank算法
- MySQL -- 行转列 -- GROUP_CONCAT -- MAX(CASE WHEN THEN)
- LAMP结构-访问日志
- 《Java并发编程实战》 读书勘误
- 第二章:HLK-7621开发板介绍
- 如何降低网站跳出率方法
- 绿色环保静态网页设计
- AI时代的全链路监控(阿里)
- oracle12c创建监听,Oracle 12c为PDB创建专用监听
- 期刊论文发表的重复率要求
- 家谱mysql_mysql家谱表查询某人所有后代
- python 自动输入验证码_python 自动生成验证码并 输入识别