计算对数基数 2

Sug*_*uga -1 fortran

我正在使用 Fortran 95 使用 Silverfrost Plato,我需要计算以 2 为底的对数。由于内置的​​只有自然对数和 base10,我们该怎么做?

Ale*_*ogt 6

所述用于改变基底的对数式

log_b(x) = log_k(x) / log_k(b)
Run Code Online (Sandbox Code Playgroud)

应用于您的情况,这在 Fortran 中变为以下内容:

real function log2(x)
  implicit none
  real, intent(in) :: x

  log2 = log(x) / log(2.)
end function
Run Code Online (Sandbox Code Playgroud)