数据溢出和数据精度
标签(空格分隔): C 双学位高级语言程序设计 C数据类型
如果赋值运算左边的变量和右边的表达式的类型不一致,就可能发生数据溢出,造成数据精度的丢失。
- float类型精度是6~7位有效数字,double类型精度是16位有效数字
- 即便用精度大的类型来保存精度小的类型,也不是没有风险的。比如用float来保存长整型数据,就可能出现错误,因为float有效数字位数只有6~7位,所以对于一百万之上的整型数据,就会出现误差。
- 整型数没有完全相等,只有近似相等。所以为了比较近似相等,我们可以用
fabs(10.0001-5.6821)<0.01
这样,来看是否是近似相等。