![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
单精度和双精度有什么不同?
1个回答
展开全部
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位),所以双精度浮点数所能表示的数字范围比单精度大得多,编写时应注意到自己要用到的数字是否超出了单精度所能表示的范围,还有很重要一点:单精度和双精度在计算机中的表示格式虽一样,但由于位数不同,应注意数值的传递是否发生了类型的转换,否则很容易出现问题。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询