log₂ (二進対数) 計算機
2を何乗すればその数になるか。情報量と計算量の本質を解き明かします。
二進対数 (Binary Logarithm) とは?
log₂ x (ロギング・ベース・ツー)は、「2を何乗すれば x になるか」を表す数値です。数学的には単なる対数の一種ですが、コンピュータサイエンスや情報理論の世界では、空気のように当たり前かつ重要な存在です。
y = log₂ x ⇔ 2ʸ = x
なぜコンピュータの世界で重要なのか?
1. ビット数と情報量
コンピュータは0と1のスイッチ(ビット)で情報を扱います。N通りの状態を区別するために、最低何個のスイッチが必要か?という問いの答えが、まさに ceil(log₂ N)
です。
- 入力値が 1000 の場合、log₂ 1000 ≈ 9.96 です。つまり、1000個のIDを管理するには、最低 10ビットが必要だということがわかります。
2. アルゴリズムの効率性 (計算量オーダー)
プログラミングにおいて、効率的なアルゴリズムの指標としてよく登場するのが $O(\log n)$ です。
例えば、辞書で単語を引く「二分探索」は、探している範囲を毎回半分に絞り込みます。データが100万件あっても、log₂ 1,000,000 ≈ 20 なので、たった20回程度の確認で見つけることができます。log₂ の値が小さいことは、処理が爆速であることを意味します。
意外な応用:音楽とカメラ
log₂ の概念はデジタルの外にも存在します。
- 音楽(オクターブ): 周波数が2倍になると、音程は1オクターブ上がります。つまり、音の高さの知覚は周波数に対して対数的(log₂的)になっています。
- カメラ(絞り・露出): 露出の段数(ストップ)も2倍ごとの変化を表しており、光の量を対数的に制御しています。
計算の豆知識:常用対数からの変換
電卓に log₂ ボタンがない場合でも、「底の変換公式」を使えば計算できます。
log₂ x = log₁₀ x / log₁₀ 2 ≈ log₁₀ x / 0.3010
「サンマ(0.30)ト(10)」と覚えるのがエンジニアの通例です。
まとめ
log₂ は、指数関数的に増え続ける巨大な数を、私たちが扱いやすい「桁数」や「回数」という小さなスケールに翻訳してくれる翻訳機のようなものです。本計算機で数値をいじりながら、2の累乗の世界のリズムを感じ取ってみてください。
よくある質問 (FAQ)
Q:0や負の数の log₂ は?
A:定義されていません(エラーになります)。2を何回掛けても0や負の数にはならないためです。グラフ上では、xが0に近づくにつれてyは負の無限大へ発散します。