double和float什么区别

如题。... 如题。 展开
 我来答
七禾之叶
2018-10-02 · TA获得超过2.5万个赞
知道答主
回答量:22
采纳率:100%
帮助的人:1.7万
展开全部

对编程人员来说,double 和 float 的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,C语言中数学函数名称double 和 float不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)。

扩展资料

double(双精度浮点型)是计算机使用的一种资料型别。比起单精度浮点数(float),double(双精度浮点数)使用 64 位(8字节) 来储存一个浮点数。 它可以表示十进制的15或16位有效数字,负值取值范围为 -1.7976E+308 到 -4.94065645841246544E-324,正值取值范围为 4.94065645841246544E-324 到 1.797693E+308

浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用 IEEE(电气和电子工程师协会)格式。浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 excess-127 二进制指数和一个 23 位尾数。

尾数表示一个介于 1.0 和 2.0 之间的数。由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。此表示形式为 float 类型提供了一个大约在 -3.4E+38 和 3.4E+38 之间的范围。

参考资料

百度百科-float

百度百科-double

咨询师珊
推荐于2019-08-08 · TA获得超过6.9万个赞
知道小有建树答主
回答量:469
采纳率:95%
帮助的人:22.8万
展开全部

double和float区别如下:

  1. double精度高,有效数字16位,float精度7位

  2. 大多数情况下,编译器为float分配4字节,double则分配8字节。float 省内存,运算速度快

  3. c和c++对有效数位的要求是,float至少32位,double至少48位

  4. 输入/输出格式 double 用 %lf,  float 用 %f

  5. double消耗内存是float的两倍,double的运算速度比float慢得多,

  6. 64位数的double1位符号位,11位指数位,有效数字为15~16,保证有效数字为15位精度


  7. 在代码中写一个12.3,编译器会自动认为这个数是个double型。所以如果我们想指定12.3为float类型,那么你必须在数字后面加上F/f:float f = 12.3F

  8. float32位组成:最高位的1位为符号位,接着指数位共8位,然后尾数位共23位。

  9. float型计算机的显示结果只显示6位有效数字

  10. 计算机内部以二进制法存储数据,计算机保证至少6位有效数字的精度。

  • 浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。

  • 浮点数使用 IEEE(电气和电子工程师协会)格式。

  • 浮点类型的单精度值具有 4 个字节,

  • 包括一个符号位、一个 8 位 excess-127 二进制指数和一个 23 位尾数。

  • 尾数表示一个介于 1.0 和 2.0 之间的数。

  • 由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。

  • 此表示形式为 float 类型提供了一个大约在 -3.4E+38 和 3.4E+38 之间的范围

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
226678ABCD
高粉答主

2019-07-28 · 醉心答题,欢迎关注
知道答主
回答量:25
采纳率:100%
帮助的人:6805
展开全部

两者的主要区别如下:

1、在内存中占有的字节数不同:

单精度浮点数在机内存占4个字节,双精度浮点数在机内存占8个字节。

2、有效数字位数不同:

单精度浮点数有效数字8位,双精度浮点数有效数字16位。

3、数值取值范围:

单精度浮点数的表示范围: -3.40E+38~3.40E+38,双精度浮点数的表示范围: -1.79E+ 308~-1.79E+308。

4、在程中处理速度不同:

一般来说, CPU处理单精度浮点数的速度比处理双精度浮点数快,如果不声明,默认小数为double类型,所以如果要用float的话,必须进行强转。

参考资料来源:百度百科-double

参考资料来源:百度百科-float

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gxw1990422
2009-07-09 · TA获得超过1815个赞
知道答主
回答量:97
采纳率:0%
帮助的人:68万
展开全部
对编程人员来说,double 和 float 的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,C语言中数学函数名称double 和 float不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ecfbc71b4
2009-07-09 · TA获得超过300个赞
知道答主
回答量:203
采纳率:0%
帮助的人:212万
展开全部
二者都是浮点型的
但是来年各个的精度和范围不一样罢了
double有8个字节
float只有4个字节
double表示的范围比float大 而且 一般在程序里面都用double
错误少 而double在精度运算时 会出现错误 有误差
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式