底2の対数計算機とは
底2の対数計算機は、数の二進対数、すなわちその数を得るために2を何乗すればよいかを求めます。log2(x) と書かれ、「2を何乗すると x になるか」という問いに答えます。このツールでは底を変更することもできるため、一般的な対数計算機としても機能し、他の値が分かっているときに数や底について解くことができます。
二進対数は2の累乗の自然な対応物です。コンピューターは情報をビットで保存・処理するため、ある量に何ビット、何段階、何回の倍化が含まれるかを数えるときに log2 が常に現れます。
計算機の仕組み
数 x を入力すると、計算機はただちに log2(x) を返します。底は二進対数のために2に事前設定されていますが、1以外の任意の正の値に置き換えれば、別の底の対数を計算できます。「計算」セレクターを使えば、未知数を切り替えて、対数の代わりに数や底について解くこともできます。
内部では、結果は任意の対数を自然対数で表す底の変換公式によって計算されます。
log2(x)=ln(2)ln(x)
公式
二進対数は次の関係で定義されます。
log2(x)=yif and only if2y=x
一般の底 b については、底の変換公式により次が得られます。
logb(x)=ln(b)ln(x)=log10(b)log10(x)
二進対数の有用な恒等式には次のものがあります。
- 積の法則: log2(M⋅N)=log2(M)+log2(N)
- 商の法則: log2(NM)=log2(M)−log2(N)
- 累乗の法則: log2(Mk)=k⋅log2(M)
- 2の累乗: log2(2n)=n
解いた例
例1: 2の完全な累乗
log2(8) を求めます。23=8 なので、指数は3です。
log2(8)=3
例2: より大きな2の累乗
log2(1024) を求めます。210=1024 なので、結果は10です。
log2(1024)=10
例3: 整数でない結果
log2(10) を求めます。10は2の累乗ではないため、答えは無理数です。
log2(10)=ln(2)ln(10)≈3.32193
例4: 底の変更
底を10、数を100に設定します。すると次のようになります。
log10(100)=2since102=100
実用的な応用
二進対数は、量が倍になったり半分になったりするあらゆる場面で現れます。
-
コンピューターサイエンス: 平衡二分木の深さと二分探索における比較回数は、いずれも log2(n) に比例します。
-
情報理論: 1ビットの情報は、等確率の結果の数の log2 に対応するため、エントロピーは底2を用いてビットで測定されます。
-
音楽: 1オクターブの音程は周波数の倍化なので、2つの音の間のオクターブ数は、それらの周波数比の二進対数です。
-
アルゴリズム解析: 各ステップで問題を半分にする分割統治法は O(log2n) の時間で実行されます。
二進対数は負になりうるか
はい。数が0と1の間にあるとき、2の負の指数は分数を与えるため、二進対数は負になります。たとえば、2−1=0.5 なので log2(0.5)=−1 です。対数はゼロおよび負の数に対しては定義されません。
よくある質問
底2の対数は何に使われますか
倍化と半減を数えるため、コンピューターサイエンス、情報理論、そして2を繰り返し掛けて増減するあらゆる過程の中心となります。
底2の対数を手計算するにはどうすればよいですか
底の変換公式 log2(x)=ln(x)/ln(2) を使うか、その数を2の累乗と認識して指数を直接読み取ります。
なぜ底2の対数は計算機科学で重要なのですか
コンピューターは二進法で動作するため、n 個の項目を表現またはアドレス指定するのに必要なビット数は、切り上げた log2(n) です。
この計算機を他の底に使えますか
はい。事前設定された底2を1以外の任意の正の数に置き換えれば、底10、底 e、または任意の独自の底で対数を計算できます。
log2とlnの違いは何ですか
log2 は底2を使い、ln は定数 e≈2.718 を使います。両者は log2(x)=ln(x)/ln(2) で関係づけられます。