この計算ツールでできること
有効数字(有効桁数)は、その数値が「意味を持つ桁」を何桁分含んでいるかを表します。本ツールは、任意の数値 \(x\) を指定した有効数字 \(n\) 桁に丸めると同時に、科学的記数法(仮数 × 10 の累乗)でも結果を表示します。非常に大きな数、小さな小数、マイナスの値にも対応しています。
使い方
1つ目の入力欄に丸めたい数値を、2つ目の入力欄に有効数字の桁数(1〜15)を入力し、「計算する」を押すだけです。メインの結果欄には丸めた値が表示され、表では仮数 × 10^指数の形に分解して、科学的記数法を見やすく確認できます。
計算式の考え方
基本の発想は、小数点の位置をずらして、ちょうど \(n\) 桁の有効数字が整数部分に並ぶようにし、最も近い整数に丸めてから元の位置に戻す、というものです。\(|x|\) の整数部分の桁数を \(d\)(\(d = \lceil \log_{10}|x| \rceil\) で求めます)とすると、\(10^{\,n-d}\) を掛けて丸め、再び \(10^{\,n-d}\) で割ります。\(\log_{10}\) が数値の桁(位)の大きさを表すため、この1回のスケーリングだけで、どんな大きさの入力にも自動的に対応できます。
$$\begin{gathered} \text{Rounded} = \frac{\operatorname{round}\!\left( \text{Number} \cdot 10^{\,p} \right)}{10^{\,p}} \\[1.5em] \text{where}\quad p = \text{Sig. figs} - \left\lceil \log_{10}\left| \text{Number} \right| \right\rceil \end{gathered}$$
計算例
12345.678 を有効数字3桁に丸めてみましょう。ここで \(d = \lceil \log_{10}(12345.678) \rceil = 5\) なので、スケールの指数は \(n - d = 3 - 5 = -2\)、つまり係数は \(10^{-2} = 0.01\) です。掛け算すると \(12345.678 \times 0.01 = 123.45678\)、これを 123 に丸めてから 0.01 で割ると 12300 になります。科学的記数法では \(1.23 \times 10^4\) です。
よくある質問
どの桁が有効数字になりますか? 0でない数字はすべて有効です。数字に挟まれた0や、小数点以下の末尾の0も有効数字に含まれます。一方、先頭にある0は有効数字には数えません。
マイナスの数にも使えますか? はい。符号はそのまま保持され、桁(位)の判定には絶対値だけを使います。
0(ゼロ)はどうなりますか? 0には桁の大きさが定義できないため、\(n\) の値にかかわらず、計算結果はそのまま 0 を返します。