A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李维 初级黑马   /  2012-3-25 10:03  /  9628 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

单精度和双精度有什么区别啊?

6 个回复

倒序浏览
单精度float是32位长度的,双精度double是64长度的,区别就是小数点后边位数的长度,越长越精确
回复 使用道具 举报
二者的取值范围和精度是不同的

float的精度是6位有效数字,取值范围是10的-38次方到10的38次方,float占用4字节空间

double的精度是15位有效数字,取值范围是10的-308次方到10的308次方,double占用8字节空间。

评分

参与人数 1技术分 +1 收起 理由
房宝彬 + 1

查看全部评分

回复 使用道具 举报
所能表示的数据范围和数据的精度不同,双精度要大得多,只需要记住这些就可以了。
回复 使用道具 举报
float:4字节,大约+到-3.40282347E+38F(有效小数6-7)
double:8字节,大约+到-1.79769313486231570E+308(有效小数15)
回复 使用道具 举报
单精度浮点型(float)专指占用32位存储空间的单精度(single-precision)值。单精度在一些处理器上比双精度更快而且只占用双精度一半的空间,但是当值很大或很小的时候,它将变得不精确。当你需要小数部分并且对精度的要求不高时,单精度浮点型的变量是有用的。
双精度型,正如它的关键字“double”表示的,占用64位的存储空间。在一些现代的被优化用来进行高速数学计算的处理器上双精度型实际上比单精度的快。所有超出人类经验的数学函数,如sin,cos,和sqrt均返回双精度的值。当你需要保持多次反复迭代的计算的精确性时,或在操作值很大的数字时,双精度型是最好的选择
单精度/双精度实际上存储的是一个近似值,浮点的特性决定了他可以存储非常小的数,也可以存储极大的数,他的数据精度并不是一个绝对值,而是存储值的百分比,所以即使对同一组数据定义也是不可以将float型和double型数据比较的。

评分

参与人数 1技术分 +1 收起 理由
房宝彬 + 1

查看全部评分

回复 使用道具 举报

他们的区别在于取值范围和精度,双精度在精度要求比较高得时候可以获得更准确的精度,
计算机在运算的时候浮点数的速度比整数运算慢  
使用双精度浮点数会占用大量内存单元
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马