将一个实型常量定义为,单精度或双精度实数有什么区别?

同上,希望讲得详细一写,刚接触C语言... 同上,希望讲得详细一写,刚接触C语言 展开
 我来答
床前明月儿
高能答主

2019-11-16 · 探索生活中的另一种可能
床前明月儿
采纳数:101 获赞数:171950

向TA提问 私信TA
展开全部

一、指代不同

1、单精度:是指计算机表达实数近似值的一种方式。

2、双精度:此数据类型与单精度数据类型(float)相似,但精确度比float高。

二、范围不同

1、单精度:范围在负数的时候是从 -3.402823E38 到 -1.401298E-45,而在正数的时候是从 1.401298E-45 到 3.402823E38 。

2、双精度:双精度型占8 个字节(64位)内存空间,其数值范围为-1.79769313486232E308 到1.79769313486232E308。


三、特点不同

1、单精度:应用广泛,而一些低成本的单片机系统中不具备数学运算的协处理器硬件,因而在在不同系统中,根据硬件特性对浮点数的软件实现进行了相应调整和简化。

2、双精度:同数值型比,它能提供更高的数值精度,采用固定存储长度的浮点数形式,每个双精度浮点型数据占8个字节。与数值型数据不同,它的小数点位置是由输入的数据值来决定的,并且只能用于表中的字段。


参考资料来源:百度百科-单精度

参考资料来源:百度百科-双精度浮点型

fengyiqui
推荐于2017-10-03 · 超过27用户采纳过TA的回答
知道答主
回答量:196
采纳率:0%
帮助的人:107万
展开全部
IEEE单精度格式具有24位有效数字,并总共占用32 位。IEEE双精度格式具有53位有效数字精度,并总共占用64位。

说明:基本浮点格式是固定格式,相对应的十进制有效数字分别为7位和17位。基本浮点格式对应的C/C++类型为float和double。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qkhtjy
推荐于2017-09-16 · TA获得超过3.6万个赞
知道大有可为答主
回答量:3.1万
采纳率:96%
帮助的人:3156万
展开全部
单精度实型变量和双精度实型变量的根本区别在于所存储数据的内存空间大小不同。
浮点数的存储采用的是IEEE754标准,该标准采用二进制科学记数法表示小数,规定:
单精度实型 占4字节,共32位。第一位表示符号位,接下来8位表示指数位,剩余的23位表示小数位。
2^23=8388608 , 这样单精度浮点数能表示的有效数据只能是6-7位,即:7位以上的数据,无法在单精度中进行精确存储了,只能丢弃部分数据。
双精度实型 占8字节,共64位。第一位表示符号位,接下来11位表示指数位,剩余的52位表示小数位。
2^52=4503599627370496, 这样双精度浮点数能表示的有效数据只能是15-16位,即:16位以上的数据,无法在双精度中进行精确存储了,只能丢弃部分数据。
虽然单双精度类型数据精度有限,但因其表示数据的格式特点,导致其表示数据的范围非常大:
单精度:可以表示的数字的绝对值范围大约是: 1.401298E-45 到 3.402823E38 。
双精度:可以表示的数字的绝对值范围大约是:1.7E-308 ~ 1.7E308。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式