2017-04-12 6 views
3

私はbcのためにthis questionを見ましたが、これはどのようにDCで行いますか? log_2(5)を計算するにはdcの対数を計算する

10k 
5q2q/ 

:コマンドがqた場合たとえば、私はこのようにそれを使用したいと思います。

答えて

6

dcには組み込みのコマンドはありませんが、対数をマクロとして計算するにはnumerical methodsのいずれかを実装できます。例えば

this oneln((1+y)/(1-y))テイラー級数展開を使用してln(x)を計算します:

# L (x -- y) 
# Natural logarithm of `x`. 
[ 1-d2+/ 
    d2*Sk    # Initialize multiplier 
    d*Sy    # Initialize multiplier factor 
    0Ss    # Initialize accumulator 
    10K^Sp    # Initialize 10^k power 
    [ d1r/lk*ls+lsrdss # Update accumulator 
    -lp*d*1 [s_q]s_>_ # Check precision 
    lkly*sk 2+   # Update multiplier and counter 
    lfx 
    ]Sf 
    1lfxLs 
LkLyLpLfs_s_s_s_] sL 

はこのようにそれを使用します。

10k 
5lLx 2lLx /p 

それが大量(X»1)のために、特に、最適ではないですが、必要に応じてより速い収束性を持つ方法をこの方法で実装することもできます。

搾りバージョン(やや速い):

[1-d2+/d2*Skd*Sy0Ss10K^Sp[d1r/lk*ls+lsrdss-lp*d*1[s_q]s_>_lkly*sk2+lfx]Sf1lfxLsLkLyLpLfs_s_s_s_]sL 
関連する問題