中易网

c++中单精度与双精度的区别

答案:2  悬赏:0  
解决时间 2021-01-18 13:11
  • 提问者网友:两耳就是菩提
  • 2021-01-17 19:48
c++中单精度与双精度的区别
最佳答案
  • 二级知识专家网友:空山清雨
  • 2021-01-17 21:04
Float内存中占4个字节,有效数位是7位(因为有正负,所以不是8位),VC++6.0平台中默认显示是6位有效数字;double占8个字节,有效数位是16位,但在VC++6.0平台中默认显示同样是6位有效数字。所以两者在实际显示效果是一样的。还有,我按你那三个数字分别用double和float试验过,输出结果都跟预期的2.888一样啊,怎么可能是最小的呢?追问弄错了,是2.888000
可一个字节不是等于8位吗追答这里说的“位”是数字个数,而不是 1字节(Byte) = 8位(bit) 中的“位(bit)”。
全部回答
  • 1楼网友:从此江山别
  • 2021-01-17 21:21
类型 数值范围
float 32 6-7 -3.4*10(-38)~3.4*10(38)
double 64 15-16 -1.7*10(-308)~1.7*10(308)

简单来说,
float 为单精度,内存中占4个字节,有效数位是7位(因为有正负,所以不是8位)
double 为双精度,占8个字节,有效数位是16位,
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息