

博士!
対数もいよいよ最後だけど、テスト問題で「2^{30} は何桁の数か求めなさい」っていう問題が出てきて参っちゃったよ。
2 を 30 回も手計算で掛けるなんて無理だし、解けたとしても「整数部分に 1 を足したら桁数になる」って公式がなんだか丸暗記っぽくて納得いかないんだ。

ふむ、巨大な数字のサイズに圧倒されたようじゃな!
じゃが、安心してよいぞ。人間が手計算できないような巨大な数や、微小な小数を綺麗に解剖するために生み出されたのが、底を 10 とする「常用対数(じょうようたいすう)」なのじゃ。
なぜ 1 を足すと桁数になるのか、そのからくりも原理から追っていけばスッキリ理解できるぞ。

常用対数を使えば、2^{30} の桁数だけじゃなくて、一番上の桁の数字(最高位の数字)まで分かっちゃうの?

その通りじゃ!
今回は常用対数の仕組みと、桁数・最高位の数字を順を追って割り出す決定原理を分かりやすく解説していくぞ。
常用対数(log_10 N)とは何か(底が10である理由)
私たちが普段使う「十進法」と底10の相性の良さ

そもそも「常用対数」って何?
他の対数と何が違うの?

常用対数とは、底が 10 である対数 \log_{10} N のことじゃ。
私たちが日常で使っている数字は、10 集まると位が上がる「十進法」じゃろ?
だから、底を 10 にすると、数字の「桁数(位の大きさ)」と対数の値が綺麗に一致するのじゃよ。
log_10 10 = 1, log_10 100 = 2, log_10 1000 = 3 が意味する桁の目安

数字の桁数と対数の値が一致するって、どういうこと?

具体的な数で常用対数の値を調べてみるのじゃ。
\log_{10} 10 = 1 \quad (10^1 = 10 \quad \text{は2桁})
\log_{10} 100 = 2 \quad (10^2 = 100 \quad \text{は3桁})
\log_{10} 1000 = 3 \quad (10^3 = 1000 \quad \text{は4桁})
10 の累乗の数が綺麗に 1, 2, 3 と整数値になっているのが分かるかの?

あ!
100(3桁)なら 2、1000(4桁)なら 3 になってる!
巨大な数の「桁数」を求める原理
なぜ 10^(k-1) ≦ N < 10^k で挟むと k 桁になるのか

そうじゃ。では、例えば 3 桁の数(100 から 999)の範囲を考えてみるのじゃ。
どんな 3 桁の数 N も、100 \leqq N < 1000 という範囲に挟まれるじゃろ?
これを 10 の累乗で書くと、次のようになるのじゃ。
10^2 \leqq N < 10^3
各辺の常用対数(\log_{10})を取ると、底 10 > 1 だから大小関係は変わらず、次のようになるぞ。
2 \leqq \log_{10} N < 3

なるほど!
常用対数の値が「2 以上 3 未満(つまり 2.\text{〇〇})」だったら、その数 N は絶対に 3 桁になるんだね!
「整数部分に1を足すと桁数になる」公式のからくり

大正解じゃ!一般化すると、N が k 桁の数であるとき、常用対数 \log_{10} N の範囲は次のようになる。
k-1 \leqq \log_{10} N < k
つまり、\log_{10} N を計算して値が例えば 9.03 になったら、整数部分は 9 じゃな。9 \leqq \log_{10} N < 10 だから、10^9 \leqq N < 10^{10} となり、N は 10 桁の数だと分かるのじゃよ。

整数部分の 9 に 1 を足して 10 桁になるのは、10^9 \leqq N < 10^{10} の右側の指数 10 を見ているからなんだね!
公式の理屈がよく分かったよ!
巨大な数の「最高位の数字(一番上の桁)」を求める原理
小数部分に着目する理由(10の累乗のスキマを測る)

桁数は分かったけど、一番上の桁の数字(最高位の数字)はどうやって決めるの?

ここで活躍するのが、常用対数を計算したときに出てくる「小数部分」じゃ。
例えば、\log_{10} 2^{30} = 9.03 の場合、整数部分は 9、小数部分は 0.03 じゃな。
2^{30} = 10^{9.03} = 10^{0.03} \times 10^9
このように分解できるのじゃ。10^9 は桁数を決めるゼロの数じゃから、先頭の数字の並びを決めているのは前にある 10^{0.03} の部分なのじゃよ!
log_10 2 ≒ 0.3010, log_10 3 ≒ 0.4771 を使った範囲の絞り込み

10^{0.03} って具体的にいくらくらいなの?

問題文に与えられているヒントの値と比較してみるのじゃ。
\log_{10} 1 = 0, \log_{10} 2 \approx 0.3010 じゃな。
小数部分 0.03 をこの2つの間で挟むと、次のようになる。
\log_{10} 1 \leqq 0.03 < \log_{10} 2
各辺を 10 の肩に乗せると、1 \leqq 10^{0.03} < 2 となる。10^{0.03} は 1.\text{〇〇} という数だと判明するのじゃ!

10^{0.03} が 1.\text{〇〇} だから、それに 10^9 を掛けた 2^{30} の最高位の数字は 1 になるんだね!すごすぎる!
小数点以下「初めて0でない数字が現れる位置」の求め方
0に近い小数の常用対数はマイナスになる理由

1 より小さい小数(\left(\dfrac{1}{2}\right)^{20} など)のときはどうなるの?

1 より小さい数の常用対数はマイナスの値になるのじゃ。
例えば \log_{10} 0.1 = -1, \log_{10} 0.01 = -2 じゃな。
-p ≦ log_10 N < -p+1 での桁数判定の注意点

小数第 p 位に初めて 0 でない数字が現れる条件は、次のように挟むことじゃ。
10^{-p} \leqq N < 10^{-p+1} \iff -p \leqq \log_{10} N < -p+1
計算結果が例えば -3.4 になった場合、帯分数のように -3.4 = -4 + 0.6 と「負の整数 + 正の小数」の形に分解するのが最大のコツじゃぞ。
-4 \leqq -3.4 < -3 となるため、小数第 4 位に初めて 0 でない数字が現れると分かるのじゃ。
演習問題:常用対数を活用した応用計算
問題 1 の解答・解説
2^{40} の常用対数 \log_{10} 2^{40} を計算します。
\log_{10} 2^{40} = 40 \log_{10} 2 = 40 \times 0.3010 = 12.04
得られた値 12.04 を不等式で挟みます。
12 \leqq \log_{10} 2^{40} < 13
各辺の底を 10 とした指数に直します(底 10 > 1 のため不等号の向きは不変)。
10^{12} \leqq 2^{40} < 10^{13}
したがって、2^{40} は 13 桁の数となります。
答:13 桁
問題 2 の解答・解説
問題1より、\log_{10} 2^{40} = 12.04 であり、これを「整数部分 + 正の小数部分」に分解します。
\log_{10} 2^{40} = 12 + 0.04
小数部分 0.04 の範囲を、与えられた対数表の値と比較して挟み込みます。
\log_{10} 1 = 0, \log_{10} 2 = 0.3010 より、
\log_{10} 1 \leqq 0.04 < \log_{10} 2
各辺を 10 の指数に乗せます。
1 \leqq 10^{0.04} < 2
各辺に 10^{12} を掛けます。
1 \times 10^{12} \leqq 10^{12.04} < 2 \times 10^{12}
1 \times 10^{12} \leqq 2^{40} < 2 \times 10^{12}
2^{40} は 1000000000000 以上 2000000000000 未満の数であるため、最高位の数字は 1 です。
答:1
問題 3 の解答・解説
\left(\dfrac{1}{2}\right)^{20} = 2^{-20} の常用対数を計算します。
\log_{10} 2^{-20} = -20 \log_{10} 2 = -20 \times 0.3010 = -6.02
得られた値 -6.02 を「負の整数 + 正の小数」の形に分解します。
-6.02 = -7 + 0.98
したがって、常用対数の範囲は以下のようになります。
-7 \leqq \log_{10} \left(\dfrac{1}{2}\right)^{20} < -6
各辺を 10 の指数に乗せます。
10^{-7} \leqq \left(\dfrac{1}{2}\right)^{20} < 10^{-6}
したがって、小数第 7 位に初めて 0 でない数字が現れます。
答:小数第 7 位
まとめ:常用対数は巨大な数や極小な数を解剖するスケール

手計算じゃ大変な 2^{30} や 2^{40} の桁数も最高位の数字も、常用対数を使えば順を追って解剖できるなんて感動的だね!
整数部分と小数部分の役割分担が分かったから、もう公式の丸暗記じゃなくて自力で求められるよ!

うむ、見事な到達じゃ!
常用対数の解剖テクニックをまとめておこう。
- 常用対数 \log_{10} N の「整数部分」が桁数(指数 + 1)を決める。
- 常用対数 \log_{10} N の「小数部分」が最高位の数字(先頭の数)を決める。
- 小数の場合は \log_{10} N = -p + \text{正の小数} に分解し、小数第 p 位を判定する。

これにて、指数・対数分野の全8ステップがすべて完結したぞ!
本当によく頑張ったの。数学の基礎体力が大幅にアップしたはずじゃ!


コメント