■常用対数
常用対数とは、底を10とする log10x で表記される。
常用対数は、整数の桁数および小数点の位置を調べるのに便利
■例題
▼問題1
2100は何桁の数か求める
▼問題2
(1/2)10は少数第何位に初めて0でない数が現れるか調べる。
■常用対数を使用した解法
log102 = 0.3010 とするとき以下のように解く
▼問題1
a = 2100
log10a = log102100
log10a = 100 × log102 = 100 × 0.3010
log10a = 100 × 0.3010
log10a = 30.10
30 < log10a < 31 より、
1030 < a < 1031
したがって、1030 より大きく1031より小さい(先頭の桁の後ろに0が30個存在している)ため、
桁数は31桁である。
▼問題2
b = (1/2)10
log10b = log102-10
log10b = -10 × log102
log10b = -10 × 0.3010
log10b = -3.010
-4 < log10b < -3 より、
10-4 < b < 10-3
って、10-4 より大きく10-3より小さい(小数点以下の後ろに0が3個存在している)ため、
小数点第4位に初めて0でない数が現れる。
■今回使用するライブラリ
▼今回使用するライブラリ
math.log10()
▼使い方
import math
math.log10(2) # 0.3010299956639812
■サンプルコード
# -*- Coding:UTF-8 -*-
import math
# ▼問題1
ques1 = 2 ** 100
print('問題1')
print(ques1)
# 小数点以下切り捨て、1を加算
print(int(math.log10(ques1) + 1))
# ▼問題2
ques2 = (1/2) ** 10
print('問題2')
print(ques2)
# 小数点以下切り捨て、1で引く
print(int(math.log10(ques2) - 1))
■実行結果
問題1
1267650600228229401496703205376
31
問題2
0.0009765625
-4
コメント
[…] 【Python】math.log10()を使用して桁数および小数第何位に初めて0でない数字が出現するか調べる■常用対数常用対数とは、底を10とする log10x で表記される。常用対数は、整数の桁数および […]