1e-6表示1乘以10的负6次方。
Math.abs(x)&lt1e-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
1e-6在c语言中,E是不能大写的。下面让我们来了解一下1e-6在c语言中是什么意思:
1e-6实际上就是科学计数法,代表的意思是“1乘以10的-6次方”。这里要特别注意的是1这个数字是不能省略,因为省略掉1后,就有可能会造成歧义,等同于0.000001。同样地,当我们创建一个变量为0.001,然后直接print,输出值就为1e-3。
那么c语言又是什么呢?
c语言,它是一门面向过程、抽象化的通用程序设计的语言,广泛应用于底层开发。
main(){double e=1,n=1
int i
for(i=1n<1e6i++)
{n=n*ie+=1.0/n
printf("%d\t%.7f\n",i,e)/*观察每次循环时e的输出值,可删*/
}
printf("e=%.6f\n",e)/*%.7f %.6f 控制输出精度*/
scanf("%d")/*输出暂停 可删或换getchar()等*/
}
输出:
1 2.0000000
2 2.5000000
3 2.6666667
4 2.7083333
5 2.7166667
6 2.7180556
7 2.7182540
8 2.7182788
9 2.7182815
10 2.7182818
e=2.718282
自然对数
当x趋近于正无穷或负无穷时,[1+(1/x)]^x的极限就等于e,实际上e的值就是通过这个极限而发现的。它是个无限不循环小数。其值约等于2.718281828...