C语言中的单精度和双精度浮点型的区别!3.14是哪种?3.14159呢?

 我来答
床前明月儿
高能答主

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

向TA提问 私信TA
展开全部

3.14是单精度,3.14159是双精度。

两者区别如下:

一、指代不同

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

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


二、占用空间不同

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

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

三、特点不同

1、单精度:数值比以上值小的时候,将会由于尾数的有效位数减少而逐步丧失精度(IEEE 754的规定),或者有的系统则直接采用0值来简化处理过程。

2、双精度:编译时所占的内存空间依不同的编译器而有所不同,是double float数据类型,C/C++中表示实型变量的一种变量类型。


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

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

White_MouseYBZ
推荐于2018-03-03 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:5727万
展开全部
3.14和3.14159都是double型常量,这是C/C++的默认规定。而3.14f和3.14159f或(float)3.14和(float)3.14159才是float型。double型和foat型的区别不在于写上了多少位小数,而在于它们表示的浮点数能精确到多少位,float型一般能精确到6~7位,double型能精确到15~16位,精确的位数是包括整数部分的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
terranlong
2012-10-25 · TA获得超过7292个赞
知道大有可为答主
回答量:2660
采纳率:0%
帮助的人:3833万
展开全部
单精度就是float类型,是4个字节的
双精度就是double类型,是8个字节的
两个类型字节数都不同,当然双精度表示的数的范围就比单精度的要大
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友044e113
2012-10-25 · TA获得超过162个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:117万
展开全部
单精度是7位小数,双精度是16位小数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
OliverXu
2012-10-25 · TA获得超过841个赞
知道小有建树答主
回答量:610
采纳率:0%
帮助的人:403万
展开全部
float的精度是7位,占4字节,而double的有效数字达到了16位,占8字节,3.14和3.14159都可以用float,当然double也不会错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式