float类型变量与0比较的方式如下: 1if(fabs(data) <= 1e-7) 为什么float类型的变量与0判断相等的方式需要采用1e-7(107)呢? 通过查阅资料,我们发现,float单精度,在内存中应该是 1 个符号位, 8个指数位 和 23个有效数据位。而 2^23 ~ 10^ 7, 由此得到 1e-7. 参考资料: 1.c中float和double数据与...
float:2^23 = 8388608,一共七位,这意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字; double:2^52 = 4503599627370496,一共16位,同理,double的精度为15~16位。 3.Oracle中Number类型 在Oracle中Number类型可以用来存储0,正负定点或者浮点数,可表示的数据范围在 1.0 * 10(...
float:2^23 = 8388608,一共七位,这意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字; double:2^52 = 4503599627370496,一共16位,同理,double的精度为15~16位。 3.Oracle中Number类型 在Oracle中Number类型可以用来存储0,正负定点或者浮点数,可表示的数据范围在 1.0 * 10(...