53

bcを使うのはこれが初めてです。数値の対数(基数10)を計算したい。どうすればいいですか?

4

8 に答える 8

77

bcその-lようなオプション(数学ライブラリを有効にするため)で呼び出す

$ echo 'l(100)/l(10)' | bc -l
2.00000000000000000000

l自然対数である関数を使用します。興味のある数の対数を取り、10の自然対数で割ります。

于 2011-11-01T03:54:12.397 に答える
47

基数bに関するxの対数は、任意の基数kに対する任意の対数関数を指定して計算できます。これは実際にはかなりクールです。

log_b(x) = log_k(x) / log_k(b)

例えば

log_b(x) = ln(x) / ln(b)

b = 10の場合:

log_10(x) = ln(x) / ln(10)

bcの-lは数学ライブラリを有効にします

これが機能する理由です:

# bc -l
l(100) / l(10)
2.00000000000000000000
于 2011-11-01T04:03:18.620 に答える
5

スイッチから始めるbcと、引数の自然対数を計算する関数があります。-ll()

于 2011-11-01T03:56:56.763 に答える
2

ポスターは特にログ10を要求しました。

私はUbuntu12.10にbc1.06.95を持っています。このバージョンのBCの「l(x)」は基数10ではありません。自然対数(基数e)です。これはここで確認されており、BCはしばらくの間このように機能してきました。

http://linux.about.com/od/commands/l/blcmdl1_bc.htm

ログベース10を機能させるために必要なのは、BC拡張機能だと思います。

http://x-bc.sourceforge.net/extensions_bc.html

これをインストールする正しい方法がわからず、ここに投稿しようとするとエラーが発生しました。

ドミニク・リュック・ウェッブ

于 2013-08-25T08:52:00.887 に答える
2

bcは、以外の方法または他の方法で対数を直接与えることはありません。bcを使用すると、ln(x)しか計算できません。したがって、他の基本対数を取得するには、いくつかのIDを覚えておくのが賢明です。基本的なものは-

log base 10 (x) = log base e (x) / log base e (10)

ここでは、さまざまな基本対数の例をいくつか示します-

totan@Home-Computer ~ $ bc -l
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 

l(8)/l(2)
3.00000000000000000002

l(1000)/l(10)
3.00000000000000000000

l(100000)/l(100)
2.50000000000000000000

l(100000)/l(10)
5.00000000000000000001

l(81)/l(3)
4.00000000000000000001

l(64)/l(4)
3.00000000000000000000

quit()
totan@Home-Computer ~ $ 

これがお役に立てば幸いです。

于 2017-07-14T16:35:53.187 に答える
1
bc -l

l(____) 

(そこにあなたの番号を空欄に記入してください)

私は次の場所でチュートリアルを見つけました:

http://unix-simple.blogspot.com/2006/10/unix-basic-calculator.html

http://unix-simple.blogspot.com/2006/10/taking-roots-with-unix-basic.html

于 2011-11-01T03:54:34.680 に答える
1

Pythonは、次のようにこれに役立ちます。

log3=$(python -c  'import math; print math.log(3)')

お役に立てば幸いです。

于 2017-07-19T23:30:21.057 に答える
0

他の多くの人が指摘しているように、このオプションでbc呼び出されると-l、標準の数学ライブラリが含まれ、拡張機能を通じてそれらの機能が提供されます。@deeは、log2()私がこの投稿に導いた計算の問題を解決する追加の拡張機能を指摘しました。それらを「インストール」する方法は見つかりませんでしたが、呼び出し時にファイルを含めることで、実行時にロードできますbc

bc -l extensions.bc

これをデフォルトの動作にしたい場合は、シェルのプロファイルまたは.rcで環境変数BC_ENV_ARGSをに定義します。-l /pathToExtension/extensions.bc

于 2020-03-04T18:51:16.560 に答える