单精度与双精度的区别

 我来答
班婉君须赩
2019-09-17 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.2万
采纳率:27%
帮助的人:909万
展开全部
单精度数据类型是float,双精度数据类型是double其实最通俗的讲的话,后者所能表示小数的范围比前者大双精度类型的变量能表示15位有效数字,单精度类型变量只能表示7位有效数字双精度类型变量占用8个字宽内存,单精度类型变量占用4个字宽内存。
知识延展:
单精度数,是指计算机表达实数近似值的一种方式。VB中,Single(单精度浮点型)变量存储为
IEEE
32
位(4
个字节)浮点数值的形式,它的范围在负数的时候是从
-3.402823E38

-1.401298E-45,而在正数的时候是从
1.401298E-45

3.402823E38

双精度浮点型,此数据类型与单精度数据类型(float)相似,但精确度比float高,编译时所占的内存空间依不同的编译器而有所不同,是double
float数据类型,C/C++中表示实型变量的一种变量类型。
肥香梅佼升
2020-04-07 · TA获得超过3万个赞
知道大有可为答主
回答量:1.2万
采纳率:32%
帮助的人:804万
展开全部
单精度
占四个字节存储空间
能表示的有效数位为7位
双精度
占八个字节存储空间
能表示的有效数位为16位
最好定义符点数时,都采用double类型。
因为小数在计算机中存储的多数为近似值,虽然符点数的表示方法(IEEE754标准)可以使得四字节或八字节表示很大的数据,但是,由于有的小数不能完全转换成纯粹相等的二进制数,所以,计算机只能保存最接近的其值的二进制小数。如:
0.9
d=
0.1110011001100....
B
按二进制再反算回来可能就是0.89999....了
演算方法:
0.9*2=1.8
0.8*2=1.6
0.6*2=1.2
0.2*2=0.4
0.4*2=0.8
....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式