有効数字計算
計算結果
有効数字
- 丸めた値
- 0.00456
- 四捨五入した科学表記
- 4.56 × 10⁻³
有効数字とは、その数がどれだけ正確に測定されたかについての情報を運んでいる桁のことです。数えるのは書き方に当てる小さな規則の集まりで、そのあとに来るのが、選んだ桁数への丸めです。ページ名の略称sig figは多くの人が検索する形で、正式な呼び名はsignificant figures、日本語では有効数字です。規則は次のとおりです。0でない桁はすべて数えます。123は3桁です。0でない桁と0でない桁の間にある0は数えます。その場所を開けて支えているからで、1,002は4桁です。先頭の0は決して数えません。小数点の位置を決めているだけだからで、0.005は3桁ではなく1桁です。小数点より後ろの0は数えます。0.004560は4桁です。そして小数点を付けずに書いた整数の末尾の0は数えません。その数の大きさを言っているだけかもしれないからです。1,200は2桁、1,200.は4桁です。この最後の組が、教義の全部を1つの例にしたものです。2つの入力は同じ量で、違いはそのうちどれだけが分かっているかという主張です。1.2 × 10³は測定が百の位で止まったと言い、1.200 × 10³は一の位まで下りたと言います。小数点を書くことがその主張の述べ方で、だからこの規則は入力の綴りを見ずには当てられません。この有効数字の計算ツールは数を読み、その有効数字を数え、選んだ桁数に丸めます。丸めを決める約束が2つあり、どちらも結果の中で発見させるのではなくここに書きます。1つは半数上げで0から遠い側へ丸めることです。1.25を2桁に丸めると1.3、−0.004560を2桁に丸めると−0.0046で、符号は判断に関与しません。もう1つは水増しをしないことです。0.004560に6桁を求めても0.004560のまま返ります。この数に与えられる6桁はなく、0を足すことは精度を捏造することになるからです。丸めは繰り上がることがあり、その繰り上がりは数の大きさを変え得ます。9.99を2桁に丸めると10、999を2桁に丸めると1,000になり、桁数ではなく指数のほうが動きます。ここから出る帰結を1つはっきり述べておきます。丸めが末尾の0を生むとき、ふつうの小数の形では何桁が残ったのかを示せません。1,002.0を2桁に丸めると1,000で、大きさを開けて支えている0と、測定された0とが区別できません。そこでこのページは、丸めた値を指数表記でもう一度印字します。係数が桁を、指数が大きさを示します。1.0 × 10³です。2行の間には曖昧さが残りません。0はここでは有効数字1桁です。書かれた桁であり、先頭の0と違ってその量について分かっていることの全部なので、数えないのではなく1と数えます。区別しておく価値のある隣が2つあります。有効数字の桁数ではなく小数の桁数へ丸めるのは別の仕事で、丸めの計算ツールに属します。0.004560を小数第2位まで丸めると0.00、有効数字2桁に丸めると0.0046で、この2つの答えは近くもありません。そして精度について何も決めずに数を係数と指数の形へ変換するのが標準形のページです。
8つの数と、それぞれが運ぶ有効数字の桁数
| 数 | 有効数字 |
|---|---|
| 123 | 3 |
| 1002 | 4 |
| 1002.0 | 5 |
| 0.005 | 1 |
| 0.004560 | 4 |
| 1200 | 2 |
| 1200. | 4 |
| 0 | 1 |
5つの規則がそれぞれ少なくとも1回は働き、桁数を決める綴りがすべて現れるように選んだ8つの値です。注意して読むのは真ん中の行です。0.005は先頭の0が小数点の位置を決めているだけなので有効数字1桁で、1,002.0は桁と桁の間の0が数えられ、小数点より後ろの0も数えられるので5桁です。下のほうの組は規則が最も純粋な形で現れています。1,200は有効数字2桁、1,200.は4桁で、同じ量を2通りに書いた、それについての2つの違う主張です。最後の行は0で、これは数えないのではなく1桁と数えます。書かれた桁であり、分かっていることの全部だからです。この列のどの桁数も、上の入力に答えているのと同じ計算から出ているので、行がパネルと食い違うことはありません。
公式
123 → 3; 1,002 → 4; 0.005 → 1; 0.004560 → 4; 1,200 → 2、1,200. → 4; 0.004560を2桁に丸めると0.0046 = 4.6 × 10⁻³; 9.99を2桁に丸めると10 = 1.0 × 10¹
- 0.004560
- 数える対象の数で、ふつうの小数でもe表記でも書けます。どんな大きさの測定値でもよく、正でも負でもかまいません。符号は数えることにも丸めることにも関与せず、読まれるのは桁だけです
- 0.005 → 1
- 先頭の0を数えない理由です。5の前にある3つの0は、小数点をあるべき位置に置いているだけの働きしかしません。情報を運んでいる唯一の桁は5なので、0.005という読みは有効数字1桁で、5 × 10⁻³と書き直してもこの点は何も変わりません
- 1,002 → 4
- 真ん中の0を数える理由です。1,002の2つの0は1と2の間にあって百の位と十の位を開けて支えており、それが情報です。0がなければこの数は12か102になってしまいます。だから1,002のどの桁も有効です
- 1,200 → 2、1,200. → 4
- 値ではなく綴りで決まる規則です。小数点を付けずに書いた整数では、末尾の0が場所を埋めているだけかもしれないので数えません。1,200は有効数字2桁です。小数点を付けて書けば、その0は意図して書かれたことになり、1,200.は4桁になります
- 0.004560 → 4
- 小数点より後ろの末尾の0を数える理由です。0.004560の最後の0は小数点より後ろにあるので意図して書かれたもので、測定が小数第6位まで届いたことを言っています。これが4つ目の有効数字で、0.004560と0.00456が同じ値でも同じ主張ではないのはそのためです
- 0.004560 → 0.0046 = 4.6 × 10⁻³
- 選んだ桁数への丸めです。半数上げとは続く5を0から遠い側へ丸めることで、水増しをしないとは、数が持っているより多くの桁を求められたらそのまま返すことです。指数表記は、残った桁と、変わらない大きさの両方を示します
有効数字は、測定された数が自分の精度を述べる方法で、その用途の大半は結果を書き留めることにあります。小数第4位まで読むはかり、ミリメートル刻みの定規、100分の1秒まで出るタイマーは、どれも最後の桁がその計器に実際に見えた最後の桁である数を出します。0.00456ではなく0.004560と記録することがそれを保ち、有効数字の桁数はその省略形です。測定値を組み合わせるとき、答えは最も弱い入力より正確にはなれないので、物理学、化学、工学の標準的なやり方は、結果が何桁の有効数字に値するかを求め、その桁数に丸めることです。よく使う作業規則は、積と商は最も精度の低い因子と同じだけの有効数字を保ち、和と差は最も精度の低い項と同じだけの小数の桁数を保つ、というものです。有効数字への丸めと小数の桁数への丸めが別の操作であるのはそのためで、このページは前者しか出しません。化学と物理学では、桁数を点検の習慣としても使います。入力より有効数字の多い答えは、測ったのではなく計算したしるしで、表示を考えずに写した結果を見つけるいちばん速い方法です。教室ではこれ自体が試験に出る技能です。1,200と1,200.の桁数は定番の問いで、答えは値ではなく書かれた形で決まります。代わりに小数の桁数へ丸めるのが丸めの計算ツールの仕事で、精度について何も判断せずに値を係数と10の累乗として書くのが標準形のページです。
計算例
0.004560の桁を数える
- 先頭の0、つまり0.00は小数点の位置を決めるだけで、数えない
- 4、5、6はどれも数え、そのあとの0も数える。小数点より後ろにあり、意図して書かれているからである
- 合わせて有効数字4桁である
- 4桁への丸めは、その数がすでに持っている桁をちょうど求めているので、値はそのまま返る
- 指数表記では係数が同じ4桁を示し、指数が大きさを運ぶ:4.560 × 10⁻³
既定値で、数の値と、その数が立てる主張の違いを示す場合です。0.00456と0.004560は値としては等しく、測定としては別物で、違いの全部が末尾の0です。答えの指数表記は、0がレイアウトと見誤られない場所に同じ主張を書いたものです。係数の4.560は4桁を持ち、そう言っています。
0.004560を1桁に丸める
- この数は有効数字4桁で、求められているのは1桁である
- 最初の桁、つまり小数第3位の4を残し、次の桁を見る
- その桁は6なので、4は繰り上がって5になる
- 右側はすべて落とし、先頭の0は元の位置に残る:0.005
- 指数表記で書くと5 × 10⁻³で、係数は1桁である
1桁への丸めはいちばん粗い場合で、大きさを失いやすい場合でもあります。答えの0.005は、残した桁を5という1文字としてしか示していないからです。指数表記はこの取引を明示します。答えの桁は1つ生き残り、指数が、それが当てはまる大きさを記録しています。
指数が変わる繰り上がり:9.99を2桁に
- この数は有効数字3桁で、そのすべてが0でない桁である
- 最初の2桁を残して9.9とし、次の桁を見る
- その桁は9なので9.9は繰り上がり、繰り上がりは最後まで走って9.9が10になる
- 丸めた値は10倍の大きさになったので、桁数ではなく指数のほうが上がる
- 指数表記では1.0 × 10¹で、ふつうの10が1桁と読まれかねないところで2桁を示す
指数表記の行が存在する理由です。数の端からあふれる繰り上がりは大きさを変え、ふつうの形では何が起きたかを言えません。10は数の10かもしれず、1と0を桁に持つ2桁の結果かもしれないからです。指数表記はそれを決着させます。係数の1.0は2桁を持ち、指数の1が大きさを記録しています。同じことは1つ上の桁でも起き、999を2桁に丸めると1,000になります。
数が持っているより多い桁を求める:123を5桁に
- この数は有効数字3桁で、どの桁も取り除けない
- 求められているのは5桁で、この数が運んでいるより多い
- 丸めは水増しをしないので、値は入ってきたとおりそのまま返る
- 桁数の行はそれでも3を報告する。求められたからといって2桁増えたわけではないからである
計算ツールが助力を断る場合です。123を123.00に水増しすると、測定された3桁が5桁になり、余分な2つの0は、結果を額面どおり受け取る読み手には精度として読まれます。この分野全体が防ごうとしているのがまさにその誤りです。指数表記の行が、なぜこの求めに応じられないかを示します。1.23 × 10²は3桁しか持っておらず、あと2桁が出てくる場所がありません。
適用限界
桁数は学校の規則に従い、そのうちの1つは数の綴り方で決まります。1,200は有効数字2桁、1,200.は4桁で、第3の答えはありません。この計算ツールは書かれた形しか手がかりにせず、その0が測定されたのかを知らないからです。末尾の0が有効なのに小数点を省いて書いた整数は、したがって少なく数えられます。0に意味を持たせたいなら1,200.と書いてください。丸めは半数上げで0から遠い側へ寄せるので、続く5は常に上がります。銀行式の半数偶数丸めはここにはありません。丸めは水増しをしないので、数が持っているより多い桁を求められてもその数はそのまま返り、桁数の行はその数が実際に運んでいる桁を報告します。先頭の0はどの入力でも保存されないので、007は7として読まれます。ふつうの丸めの出力は有効な末尾の0を示せないので、同じ値を指数表記で与える行がもう1つあります。1,002.0を2桁に丸めると、ふつうの行は1,000と読み、指数表記の行1.0 × 10³だけが、桁数が2であることを明かします。入力は有効数字15桁まで、指数は±99までで、桁数は1から15までの整数でなければなりません。4.5 × 10⁴のような書かれた形と桁区切りのコンマは、このサイトのほかの場所と同じく拒否されます。0は有効数字1桁です。最後に、このページは有効数字への丸めだけを行います。小数の桁数への丸めは丸めの計算ツールで、両者は一般には一致しません。0.004560を小数第2位まで丸めると0.00、有効数字2桁に丸めると0.0046です。
よくある質問
- 有効数字はどう数えるのか
- 0でない桁はすべて数え、0でない桁と0でない桁の間の0も数えます。1,002は4桁です。先頭の0は決して数えません。小数点の位置を決めるだけだからで、0.005は1桁です。小数点より後ろの0は数えるので、0.004560は4桁です。そして小数点を付けずに書いた整数の末尾の0は数えないので、1,200は2桁、1,200.は4桁になります。
- 1,200が有効数字2桁しかないのはなぜか
- 小数点を付けずに書いた整数の末尾の0は、場所を埋めているだけかもしれないからです。一の位まで測ったと言っているのではなく、その数が千の位の数だと言っているだけかもしれません。書かれた形ではこの2つを区別できないので、安全なほうの読みを取り、1と2だけを数えます。0に意味を持たせたいときは1,200.と書いてください。
- 有効数字と小数の桁数はどう違うのか
- 小数の桁数は小数点から外へ数え、有効数字は最初の0でない桁から数えます。1に近い数ではほぼ一致し、1から遠い数では一致しません。0.004560を小数第2位まで丸めると0.00、有効数字2桁に丸めると0.0046です。小数の桁数への丸めは丸めの計算ツールの仕事で、このページは有効数字を数えて丸めます。
- 数が持っているより多い桁を求めても0が足されないのはなぜか
- 足せば精度を捏造することになるからです。123は有効数字3桁で、123.00と印字すれば5桁に見え、読み手は最後の2桁を測定されたものとして受け取りますが、誰も測定していません。計算ツールは数をそのまま返し、桁数の行はそれでも3を報告します。それが、この求めに応じられなかったという述べ方です。
- 丸めた値を指数表記でも出すのはなぜか
- ふつうの形では有効な末尾の0を示せないからです。1,002.0を2桁に丸めると答えは1,000で、大きさを開けて支えている0が、測定された0とまったく同じに見えます。指数表記の行は1.0 × 10³と書き、係数が2桁を、指数が大きさを持ち、曖昧さは消えます。
- 0は有効数字が何桁か
- 1桁です。0は書かれた桁で、0.005の先頭の0と違って小数点の位置を示す目印ではなく、その量について分かっていることの全部です。何桁に丸めても0のままで、最初の桁より先に残すものも捨てるものもありません。
参考文献
- Significant digits — 定義、桁数の数え方の規則、および結果を指定の桁数へ丸めるときの約束 — Wolfram MathWorld (United States)
- GB/T 8170-2008《数值修约规则与极限数值的表示和判定》——数值修约(有效位数、修约间隔、进舍规则)の国家標準の書誌ページ。丸め間隔と有効位数の定義は標準の本文による — 国家标准馆·国家数字标准馆
- 教育部关于印发义务教育课程方案和课程标准(2022年版)的通知——この通知の添付資料リストの第5項が《义务教育数学课程标准(2022年版)》にあたる。小数の近似値と有効数字の初歩的な理解は義務教育段階の数学課程の内容で、課標の原文と学段の区分はこの添付による — 中华人民共和国教育部