浮点数比较

来源:百度知道 编辑:UC知道 时间:2024/06/27 04:44:49
Q1:在比较float型时,为什么浮点数是否为零用1e-6,而不是1e-7,1e-5?
Q2:在判断浮点正负时,为什么还用1e-6?
谢谢!

C里.什么类型的只能和什么类型比较如果你是float类型的.就必须和float比较.一般情况下和0比较就会用1e-6这是因为1e-6就是个很小的数了.我们可以看作0,当然你要用1e-7也没人拦你.但是为什么非得和0比呢?因为0不是一个float类型.为了解决这个问题就选用一个非常小的数来代替0.比如1e-6

因为浮点数表示的数从根本上说是不精确的,总是有误差的,一开始运算误差就会互相累加.然后按一定规则舍入,在精度要求不高的情况下,这样的误差就是可以接受的,比如一次运算理论上结果是1,但是实际结果是1.000000012,其实就可以认为是1了,但是电脑还是会认为这是2个数,所以要设定一个精度,就像1e-6,或1e-7这样,6表示精确到6位小数,其它的依此类推,根据需要来确定

因为float型最多只能表示7位有效数字 表示小数点后6位
所以在使用1e-6可以避免误差