ruby-on-rails - 我如何在 Ruby 中找到指数的值?

标签 ruby-on-rails ruby jruby

考虑下面的等式:

2 ** n = A

让我们假设 A=64。

找到 n 值的最简单方法是什么?

我目前使用以下两种方法

A= 64; n = 1; n+=1 while (A >> n) > 0; n-1

A= 64; n = 0; n+=1 until (A == ( 2 ** n));n

有没有更好的方法?

陈述相同问题的其他方式:

2 = n 次根 A 如果我知道 A 的值,我如何确定 n 的值?

最佳答案

试试这个:

def exp_value(n)
  Math.log(n) / Math.log(2)
end

关于ruby-on-rails - 我如何在 Ruby 中找到指数的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1563697/

相关文章:

ruby - 在 Sinatra 中使用查询字符串触发另一个路由

python - 导入 NLTK 时出现 Rubypython 错误

ruby-on-rails - rails : Generated controller syntax

html - 覆盖设备宽度

ruby-on-rails - 正在考虑 Sphinx 分面搜索实现示例?

ruby - 如果字符串包含数组中包含的一个或多个值,则替换字符串

ruby-on-rails - rvm和Capistrano:无法在Bitbucket “conq: repository access denied.”上克隆git存储库,但可以从服务器内部手动访问

html - 自定义 simple_form 包装器以匹配 Bootstrap 4 复选框

ruby-on-rails - 此 RMagick 安装是使用 ImageMagick 6.6.9 配置的,但正在使用 ImageMagick 6.7.7-10

ruby - RabbitMQ/兔子 : subscribe block not called if within a thread