Ruby中Math Power(**)的反转是什么?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ruby中Math Power(**)的反转是什么?相关的知识,希望对你有一定的参考价值。
我想知道如何在Ruby中获得相反的功效?
2 ** 4 # => 16
然后我想得到它的反转,我不确定使用哪个运算符
16 ?? 2 # => 4
答案
取幂的倒数是对数。如果ab = c
,那么logac = b
。
你可以在Math
模块中找到对数函数,特别是log()
用于base-e,log10()
用于base-10。
要获得不同基数(例如n
)的对数,请使用公式logNa = logxa/logxN
,其中x
是e或10等值。
对于您的具体情况:
log216
= loge16/loge2
= Math.log(16) / Math.log(2)
= 4
你是否认为这个解释很好,因为它扩展了你的知识,或者因为你讨厌高中数学而不好,完全取决于你:-)
另一答案
Math.log(16) / Math.log(2)
另一答案
从Ruby 1.9.1开始,获得对数的更简洁方法是使用Math.log2
:
[1] pry(main)> Math.log2(2**4)
=> 4.0
以上是关于Ruby中Math Power(**)的反转是什么?的主要内容,如果未能解决你的问题,请参考以下文章
[Fundamental of Power Electronics]-PART I-6.变换器电路-0 序
[Math_Medium] 869. Reordered Power of 2