有没有办法计算 -log10 值。
其中值非常小,即 3*e-178 或 e-320。
我已经尝试使用公式 log((1/value),10) 打开办公室,它工作正常,但是当它遇到非常小的值时,它会给出错误,比如不可能被零除。
我想当我使用 perl 或 python 或 R 时也会发生同样的情况。
请帮助将这些值转换为 -log10value
谢谢
注意:我想计算以 10 为底的值的负对数
最佳答案
在 R 中:
x <- 3e-320
log10(x)
#-319.5229
y <- 3*exp(-320)
log10(y)
#-138.4971
对于大指数:
library(Brobdingnag)
x <- 3*as.brob(10)^(-1000)
log10(x)
#-999.5229
y <- 3*as.brob(exp(1))^(-1000)
log10(y)
#-433.8174
或者:
log10(3)-1000
#-999.5229
关于python - 计算非常小的值的-log10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15021523/