单精度float 和双精度double到底是什么区别啊

 我来答
幻翼高达Zero
2019-05-24 · TA获得超过1.7万个赞
知道答主
回答量:499
采纳率:0%
帮助的人:8.2万
展开全部

一、字节数不同

1、float占4个字节,也就是32位。

2、double占8个字节,也就是64位。

二、指数域位数不同

1、float的指数域是8位,可表达的范围为0~255。

2、double的指数域是11位,可表达的范围为0~2047。

三、指数域位数不不同

1、float的小数域是23位。

2、double的小数域是52位。

四、指数偏移量不同

1、float的指数偏移量是127,故实际可表达的指数值的范围为-127~128。

2、double的指数指数偏移量是,故实际可表达的指数值的范围为-1023~1024。

五、可表示数的范围不同

1、float可表示数的范围是-2^128~2^128,即-3.40E+38~ .40E+38。

2、double可表示数的范围是-2^1024~2^1024,即-1.79E^308~1.79E^308。

扩展资料:

将实数用浮点数格式表示的方法:

以实数-9.625为例子。

1、求出该实数对应的二进制:1001.101,用科学技术法表达为:-1.001101*2^3。

2、因为负数,符号为1。

3、指数为3,故指数域的值为3 + 127 = 130,即二进制的10000010。

4、尾数为1.001101,省略小数点左边的1后为001101,右侧0补齐,补够23位,

最终尾数域为:00110100000000000000000。

5、最终结果:1 10000010 00110100000000000000000,用16进制表示:0xC11A0000。

参考资料来源:百度百科-浮点型数据

杭州彩谱科技有限公司
2020-07-03 广告
它们取值范围和精度是不同.float的精度是6位有效数字,取值范围是10的-38次方到10的38次方,float占用4字节空间 double的精度是15位有效数字,取值范围是10的-308次方到10的308次方,double占用8字节空间。... 点击进入详情页
本回答由杭州彩谱科技有限公司提供
匿名用户
2013-11-25
展开全部
双精度比单精度表示的位数大 精确的位数多,简单地说, foat表示的小数点位数少,double能表示的小数点位数多! 如 float: 1.0001 double:1.0000000001Float为单精度,内存中占4个字节,有效数位是7位(因为有正负,所以不是8位),在我的电脑且VC++6.0平台中默认显示是6位有效数字;double为双精度,占8个字节,有效数位是16位,Float 范围:3.4e + / - 38 (7 个数字(7digits)Double范围: -1.79769313486232E308 到 -4.94065645841247E-324,而正数的时候是从 4.94065645841247E-324 到 1.79769313486232E308
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-25
展开全部
foat表示的小数点位数少,double能表示的小数点位数多,更加精确!Float为单精度,内存中占4个字节,有效数位是8位。double为双精度,占8个字节,有效数位是16位。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-11-18
展开全部
单精度实数在内存中占32bit 有效数字为6~7位
双精度实数占内存单元为64bit 有效数字为15~16位
没有说明时,实型常量是作为双精度处理的,若要使用单精度需在后面加上字母f或F,如123.45f
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
剧巍然rp
2014-04-27 · 超过61用户采纳过TA的回答
知道答主
回答量:110
采纳率:0%
帮助的人:152万
展开全部
foat表示的小数点位数少,double能表示的小数点位数多,更加精确!Float为单精度,内存中占4个字节,有效数位是8位。double为双精度,占8个字节,有效数位是16位。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式