单精度和双精度的区别是什么

泪放晴 3年前 已收到1个回答 举报

全是涐的错 1星

共回答了181个问题采纳率:93.4% 评论

1,单精度浮点型为float, 双精度浮点型为double。

2,Float为单精度,内存中占4个字节,有效数位是7位(因为有正负,所以不是8位),在我的电脑且VC++6.0平台中默认显示是6位有效数字。

3,double为双精度,占8个字节,有效数位是16位,但在我的电脑且VC++6.0平台中默认显示同样是6位有效数字。

4,精度不同。 float在表示十进制时,有效数字为6到7位。double在表示十进制时,有效数字为15到16位。

,5.输入输出格式不同。在C语言中,输入输出格式化字符串,float使用%f,而double使用%lf。

6,单精度和双精度都属浮点数,一个单精度浮点数占4个字节(32位),一个双精度浮点数占8个字节(64位),所以双精度浮点数所能表示的数字范围比单精度大得多,编写时应注意到自己要用到的数字是否超出了单精度所能表示的范围,还有很重要一点:单精度和双精度在计算机中的表示格式虽一样,但由于位数不同,应注意数值的传递是否发生了类型的转换,否则很容易出现问题。

16小时前

32
可能相似的问题
Copyright © 2024 微短问答 All rights reserved. 粤ICP备2021119249号 站务邮箱 service@wdace.com