我需要将浮点数舍入到指数刻度,例如0.1,0.2,0.4,0.8,1.6,3.2等。但是我使用的表达式语言只能访问算术和函数,例如exp (x),log(x),log10(x),sqrt(x),sqr(x)和pow(x,y),因此没有程序/脚本。
有可能吗?
答案 0 :(得分:1)
我们从:
开始0.1 0.2 0.4 0.8 1.6等。
我们乘以10:
1 2 4 8 16等。
我们记录日志并除以log 2:
0 1 2 3 4等。
我们可以解决这个问题。
然后我们撤消一切。
exp(round(log(val * 10) / log(2)) * log(2)) / 10
round()
的实现留给读者。