永发信息网

有点不懂,2,5和7,5 有什么不同呢,单双精度不同。c语言

答案:4  悬赏:50  手机版
解决时间 2021-11-30 02:48
  • 提问者网友:心牵心
  • 2021-11-29 14:55
有点不懂,2,5和7,5 有什么不同呢,单双精度不同。c语言
最佳答案
  • 五星知识达人网友:忘川信使
  • 2021-11-29 15:57
1.float只占4个字节,double占8个字节,所以他们的范围很不同,因为现在的数都很小,所以看来没有区别,但是数字大了就表现出差别了。
2.精度不同,float只能有8位有效数字,double是16位,现在2.5和7.5因为有效数字少,所以也是看不出来区别,多了就能看出来了。
全部回答
  • 1楼网友:低血压的长颈鹿
  • 2021-11-29 18:47
计算结果的精度不一样。单精度数有效数字8位(含小数点),
双精度数有效数字16位(含小数点),它们开辟的内存空间也不一样。
  • 2楼网友:不如潦草
  • 2021-11-29 17:28
双精度取值范围比单精度范围更大。
double d = 7.555555555555;
float f = 2.55555555;
类型不同,所占得空间和储存长度不同。双精度转换到单精度值得准确性是不确定的。单精度转双精度值得准确性是对的。就是这点区别。
  • 3楼网友:三千妖杀
  • 2021-11-29 17:07
c语言里单精度和双精度都是浮点型数(实数),也就是我们常说的小数(如3.14)。
变量声明:

类型说明符为float 单精度说明符,double 双精度说明符。
实型变量说明的格式和书写规则与整型相同。
例如:
float x,y; // (x,y为单精度实型量)
double a,b,c; // (a,b,c为双精度实型量)
实型常数不分单、双精度,都按双精度double型处理。
单精度浮点数:

通常占用4个字节(32位)存储空间,其数值范围为-3.4E38~3.4E38,单精度浮点数最多有7位十进制有效数字,单精度浮点数的指数用“E”或“e”表示。如果某个数的有效数字位数超过7位,当把它定义为单精度变量时,超出的部分会自动四舍五入。
双精度浮点数:
通常占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308。双精度完全保证的有效数字是15位,16位只是部分数值有保证。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯