提问人:Prasad Manjula 提问时间:10/1/2023 最后编辑:Prasad Manjula 更新时间:10/1/2023 访问量:82
C 和 Kotlin Math.exp 中的 E 值不同 [已关闭]
E value different in C and Kotlin Math.exp [closed]
问:
我正在将 C 代码转换为 Android 应用程序的 Java(kotlin)
在 C 中,我得到
printf("\\n e value :%f \\n", 1.0e-4);
e value :0.000100
在 Android Studio 中
System.out.println("e value "+ 1*Math.exp(-4));
Output
e value 0.01831563888873418
知道为什么吗?C语言代码是我找到的工作代码。我需要用 Kotlin 获得相同的结果
答:
1赞
Eric Postpischil
10/1/2023
#1
在 C 中,表示 1.0•10−4。1.0e-4
在 Kotlin 中,表示 e−4,其中 e 是欧拉数,约为 2.718281828459。Math.exp(-4)
在 Kotlin 中,您可以使用 或 10−4。请注意,计算中使用的确切值与 10−4 略有不同,因为输入文本将转换为使用以 2 为基数的浮点格式。1e-4
1.0e-4
评论
exp()
pow()
printf("%f\n", pow(M_E, -4));
#include <math.h>
1*Math.exp(-4)
不是一回事(其实Java中的等价物也是)。1.0e-4
1.0e-4