近似値を正確に:指数記法と有効数字、丸めとは何か

どうも、木村(@kimu3_slime)です。

およその数(近似値)を適切に扱うことは、数学や科学において重要です。

小学校では四捨五入、中学や高校では指数記法と有効数字について学びますが、今回は、これらについてまとめて紹介しようと思います。

 

指数記法・科学的記法とは

数字の大きさ、スケールを簡単に把握するための方法が、指数記法、科学的記法(と呼ばれる表し方です。

 

例えば日本の人口は、約\(126000000\)人です。日本語で書けば1億2千六百万人ですが、小数を持ち出せば\(1.26\)億人とわかりやすく表せます。

小数+「億」でだいぶわかりやすくなりましたが、より大きな数や小さな数になれば、桁の名前を使って数を表すのは統一感がなくなっていきます。(1垓がどのくらいの数なのかわかりますか?)

そこで便利なのが、\(10^2 =100 \)、\(10^8=100000000\)といった\(10\)のべき乗、指数を使った表記法です。これを使えば、

\[126000000 = 1.26 \times 10 ^8\]

と表せます。桁数に注目し、それを指数として明示的に表すことで、およその大きさが把握しやすくなりました。世界の人口は\(7.67 \times 10^9\)人で、1桁の違いがあるのが明白です。

日本語では大きな数の呼び方は4桁ごとに万、億、兆と変わっていきますが、英語では3桁ごとにthousand、million、billionと変わっていくといった違いがあり、相互の読み替えには注意が必要です。しかしながら、指数を使った表記で数を表せば、\(10\)の何乗くらいの数の大きさなのか、\(0\)がいくつ続いた数なのかが、言語によらずに明確になります。

 

\(10^{-1}=0.1\)、\(10^{-3}=0.001\)といった負のべきを用いれば、小さな数を同じように表すことができます。

\(1.5\)mmの大きさのミジンコは、メートルを単位にすれば、\(1.5 \times 10^{-3}\) mです。より小さな単位、マイクロメートルµmは、\(10^{-6}\)m、ナノメートルnmは\(10^{-9}\)mを表します。

 

一般には、実数\(x\)を、\(a\)を大きさが\(1\leq |a| < 10\)の有限小数、\(k\)は整数として、

\[x=a \times 10^k \]

と分解して表すことを、数の指数記法(exponential notation)、科学的記法(scientific notation)と呼びます。

これを用いれば、宇宙規模の大きさから微生物や分子原子以下の大きさ、もののサイズに限らずあらゆる数のスケールを、統一的に表すことができます。

この表記法は、コンピュータ、プログラミングにおいても用いられ、浮動小数点表記と呼ばれています。

そこでは指数の表記は、1.26e+8、1.5E-3といったように、文字e,Eが使われることが多いです。左側の数\(a\)は仮数部、右側の数\(k\)は指数部と呼ばれます。「ひとつの数\(x\)は、(符号と)仮数\(a\)と指数\(k\)によって表される\((+,126,8),(+,15,-3)\)」と考えることで、少ない数の列として数を保存できるのです。

 

有効数字とは

大きな数や小さな数を扱うとき、相対的に小さな値の違いを無視して考えることは、しばしば有効です。

例えば、日本の人口は\(1.26\times 10^8\)と厳密にはぴったりではないでしょう。人は日々生まれたり亡くなったりして変動しているので、例えば(でたらめですが)\(1.26401191\times 10^8\)人といった方が正確かもしれません。しかしおおざっぱな見積もりや比較をするときには、細かな情報はむしろ邪魔になっていまいます。

見積もりや測定、近似値を扱うために登場するのが、注目する桁数を宣言する有効数字(significant figure)という考え方です。有効桁数(significant digits)と言っても良いでしょう。

非常におおざっぱに見れば、日本の人口は\(1\times 10^8\)と考えられます。このとき、有効数字は1桁である、と言います。\(1.26\times 10^8\)と比べるなら、\(2.6\times 10^7\)と桁の小さな数を無視したわけです。

人口は\(1.26\times 10^8\)と見るなら、有効数字は3桁です。\(10^5\)の桁以下の数は無視して、\(1.26\)という上の3桁の数字が重要と考えています。

 

有効数字は「測定結果などを表す数字のうちで、位取りを示すだけのゼロを除いた意味のある数字」と日本産業規格 分析化学用語(基礎部門)では説明されます。位取りを示すだけのゼロを除くことは、指数表記で表すことによって自然に行われているわけです。

ただし、下の桁のゼロが何でも無意味になるわけではないことに注意しましょう。例えば、ある投票の参加者数は、\(2021\)人だと観測されたとして、誤差が数十人(\(<10^2\))とすれば、\(2.0 \times 10^3\)人です。有効数字は2桁であり、この\(0\)には意味があります。有効数字1桁で\(2\times 10^3\)と考えれば、それは\(2.2\times 10^3\)を表す可能性がありますが、測定の誤差と矛盾します。

 

\(x\)を真の値として、それとおよそ等しい数(近似値)を次のように表します。

\[x \simeq 2.0 \times  10^3\]

\(\simeq, \fallingdotseq\)はニアリーイコールです。その意味は、四捨五入を用いているならば、

\[2.0 \times  10^3 – 0.5 \times10^3\leq x < 2.0 \times  10^3 +0.5 \times10^3\]

です。単に有効数字以降の桁を0として切り捨てているならば、

\[ 2.0 \times  10^3\leq x <2.0 \times  10^3 +1.0 \times  10^3\]

となります。

かなりラフな書き方ですが、四捨五入ならば\(x \simeq 2.0\times 10^3( \pm 0.5 \times10^3)\)と、誤差を\(\pm\)記号によって表すことがあります。

何かしらの実用的な分野では、\(x=2.0\)と書いてあったら、それは2.0という特定の数だけでなく、\(1.5 \leq x < 2.5\)という誤差を含めた区間を表しているケースがあるので、注意しましょう。

 

円周率\(\pi\)など小数で表せば無限に桁が続いてしまう数も、有効数字数桁の数で近似して表すことで、計算がしやすいです。

例えば、\(\pi \simeq 3.14 \times 10^0\)といったように。また、常用対数\(\log_{10} 2\)は無理数ですが、\(\log_{10} 2 \simeq 3.010 \times 10^{-1}\)と近似して計算することは多いです。たまに、「\(\log_{10} 2=0.3010\)とする」と等号記号を使った文を見ますが、数学的に誤りなのでやめたほうが良いと思います。

参考:常用対数の頻出値log_10(2),log_10(3)を、テイラー展開で求めてみよう

 

数を丸めるとは、四捨五入の注意点

有効数字を意識して数を扱うときは、小数部分\(a\)の一番左側の値が最も重要で、一番右側が最も重要ではありません。最後の桁は、誤差の影響を受けやすいです。

なぜかと言えば、観測値や一般的な数を有限の桁の有効数字で表そうとすれば、使わなくなる桁のうち一番上の桁を四捨五入や切り捨てをするからです。

例えば水銀温度計で温度を測って、\(12\)℃と読み取れたとしましょう。12℃と13℃の目盛りの間に値があり、どうやら12℃の方に近く見えるので、12℃として近似したわけです。真の温度を\(x\)とすれば、

\[1.2 \times  10^1 – 0.5 \times10^0 \leq x < 1.2 \times  10^1 +0.5 \times10^0\]

だから、\(x\simeq 1.2 \times 10^1\)と考えた、と言えます。

人間の観測能力や、機械であっても観測精度には、常に限界があります。無限の桁をそのままコンピュータで扱うことはできません。なので、ある程度以下の小さな違いは、四捨五入などのように、規則的に無視するわけです。

四捨五入や切り捨てのように、相対的に小さな数(端数)に対する規則的な処理を、丸める(rounding)と言います。

例えば、\(12.3\)の一番下の桁を四捨五入によって丸めた結果は、\(12\)です。およその数を考えたり、近似値を取るということは、数を丸める操作のことです。

 

四捨五入(Round half away from zero, 5/4)は、小学校で学ぶ最もポピュラーな丸め方です。

四捨五入は一様な切り捨てに比べれば良い性質を持ちますが、四捨五入する桁の値がぴったり5のときは、誤差が大きくなってしまうことに注意する必要があります。

例えば、\(1.25 \times 10^1\)の3桁目を四捨五入すれば、\(1.25\times 10^1\simeq 1.3 \times 10^1\)です。誤差は\(0.5 \times 10^1\)です。同じ大きさの誤差を持つ値として、\(1.25\times 10^1\simeq 1.2 \times 10^1\)も考えられます。

四捨五入を無条件に行えば、値を大きく見積もりすぎてしまうのです。そこで、\(1.25\times 10^1\simeq 1.2 \times 10^1\)、\(1.35\times 10^1\simeq 1.4 \times 10^1\)といったように、上の桁が偶数である方に寄せる丸め方が、日本工業規格では提唱されています。

また、薬の代金に関する計算では、1円以下の端数を五捨五超入と呼ばれる規則で計算します。10円=1点と換算した上で、15.0円は1点として、15.1円は2点として計上するようです。

 

以上、近似値を正確に扱う方法として、指数記法、有効数字、丸めなどについて紹介してきました。

四捨五入は丸めるための方法のひとつに過ぎません。近似値を扱っている時は、どれくらいの誤差があるのか、どんな丸め方をしているのか、意識するとより正確な理解が得られると思います。

木村すらいむ(@kimu3_slime)でした。ではでは。

 

こちらもおすすめ

ルートの近似値の求め方 不等式を使って大小比較

常用対数の頻出値log_10(2),log_10(3)を、テイラー展開で求めてみよう

ニュートン法によってルート、円周率の近似値を求めてみよう