C语言中“1e-6”是什么意思?

如题所述

1e-6表示1乘以10的负6次方。

Math.abs(x)<1e-6其实相当于x==0

1e-6(也就是0.000001)叫做epslon,用来抵消浮点运算中因为误差造成的相等无法判断的情况。它通常是一个非常小的数字(具体多小要看你的运算误差)

比如说因为精度误差,用十进制举例,我们要算1/3+1/3+1/3==1(从数学上说,肯定相等),但是因为精度问题,等号左边算出来是0.3333333+0.3333333+0.3333333=0.9999999,

存在了误差,右边是1.0000000,那么如果直接用==,返回false,我们希望它被视作相等。那么就要两数相减取绝对值小于epslon的办法。

扩展资料:

Math.abs()返回参数的绝对值。参数可以是int,float,long,double,short,byte类型。

语法

各个类型的方法格式类似如下:

double abs(double d)

float abs(float f)

int abs(int i)

long abs(long lng)

参数

任何原生数据类型。

返回值

返回参数的绝对值。

实例

public class Test{

public static void main(String args[]){

Integer a=-8;

double d=-100;

float f=-90;

System.out.println(Math.abs(a));

System.out.println(Math.abs(d));

System.out.println(Math.abs(f));

}

}

编译以上程序,输出结果为:

8

100.0

90.0

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-02-02
科学计数法方式表示的浮点数。
通用形式为AeB
其中,A可以为任意实数。 e可以写作E。 B必须是整数。
表示A乘10的B次幂。
1e-6就是1乘10的-6次幂,也就是0.000001
由于float有效位为6~7位, 所以1e-6经常被用作float类型运算的精度值。本回答被网友采纳
第2个回答  2016-10-25
单独的1e 是非法的。
和其它组合 有这么几种用途
1 和0x组合。 0x1e 表示16进制整数。
2 后面有整数。 比如1e-5 1e10这样的。 科学计数法表示的浮点数。 double类型。
3 字符串中 "1e"就是简单的字符串
4 字符转义 '\x1e' 表示值为0x1e的ascii码对应的字符。 也可以用于字符串 如
"ab\x1ecd" 这里是五个字符 加上结束符就是6个。

我想到的就这么几个,可能不全。
第3个回答  2018-03-22
1e-6表示的是浮点数。也就是1*10的-6次方。
建议你看一看<<C语言程序>>谭浩强 清华大学出版社
关于字符串的介绍.
第4个回答  2019-06-10
1e-6表示的是1*10的-6次方;
fabs(a)<=1e-6其实可以理解为a=0;
楼主这个问题应该是在做求二次方程根这个题出现,所以上面fabs(a)<=1e-6可以理解成为a=0.
相似回答