数値精度とは、その値を表すのに使用される桁数を指します。科学分野では通常、これは総桁数有効数字または有効桁と呼ばれます)が使われますが、用途によっては小数部だけの桁数、すなわち小数点以下の桁数(小数点以下の桁数)を精度と見なすこともあります。後者の定義は、特に金融や工学のアプリケーションで重要になることがあります(例:通貨は小数点以下2桁で扱う等)。

精度と丸めの関係

どちらの定義でも、「精度」という用語は、誤差をどの位の桁で切り捨て・丸めるか(すなわち丸めの位置)を表します。例えば、浮動小数点演算では、多くの場合、演算結果は規定の桁数に丸められますし、金融計算では特定の小数桁に丸めることが慣例です(たとえば多くの世界の通貨では小数点以下2桁に丸められます)。丸めにはいくつかの方式があり、代表的なものは以下の通りです。

  • 最近接丸め(round to nearest):最も近い値に丸める。0.5 のあいまいさを扱う方式としては「丸め先偶数(round half to even、銀行家の丸め)」がよく使われます。これは四捨五入のときにちょうど中間の場合、直前の桁が偶数なら切り捨て、奇数なら切り上げる方法です。
  • 0.5 を切り上げる(round half away from zero):0.5 を常に遠ざかる方向に丸める(正は上へ、負は下へ)。多くのソフトや人間の慣習ではこれが「四捨五入」として用いられますが、統計的バイアスが生じやすいです。
  • 切り捨て(truncate):単に指定桁以下を切り落とす。
  • 切り上げ/切り下げ(ceil/floor):常に上または下に丸める。

例:12.345 の丸め(ラウンド・トゥ・イーブン法)

例として、10進数の 12.345 を、様々な有効桁数および小数点以下桁数でラウンド・トゥ・イーブン(丸め先偶数)により丸めると、次のようになります。

  • 有効数字(p)で表す場合:
    • p = 1 → 10
    • p = 2 → 12
    • p = 3 → 12.3
    • p = 4 → 12.34
    • p = 5 → 12.345(元の値)
  • 小数点以下の桁数で表す場合:
    • 小数点以下0桁(整数)→ 12
    • 小数点以下1桁 → 12.3
    • 小数点以下2桁 → 12.34(注:12.345 は第三小数位が 5 のちょうど中間で、第二小数位の 4 が偶数なので切り捨て)
    • 小数点以下3桁 → 12.345(変化なし)

有効数字での丸めの式(正の数)

正の数xを有効桁数pで表す(つまり p 桁の精度に丸める)とき、丸め後の値は次の式で与えられます。

round( x / 10n ) × 10n, ここで n = floor( log10(|x|) ) + 1 − p.

負の数の場合は、まず絶対値を丸めてから符号を付けます(絶対値からマイナスになります)。また、0 はどのような精度でも 0 と扱えます。

表示と有効桁の注意点

測定値を示すとき、実際に測定可能な桁以上の桁を表示するのは好ましくありません。例えば、計測器が最小単位を「1グラム」として 12.345kg と表示している場合、これを「12.34500kg」と余分なゼロを付けて表示すると、誤った精度(過度の精度)を示してしまいます。必要ならば、不確かさ(±)を併記するか、科学表記法(例えば 1.2345 × 10^1)や有効数字を明示することで正確さを表現します。

実装上・運用上の注意

  • コンピュータでの小数演算では、二進浮動小数点表現の性質により丸め誤差が生じやすく、表示上の桁と内部値が一致しないことがあります。IEEE 754 規格では既定の丸め方法として「最近接、かつ偶数へ丸める(round to nearest, ties to even)」が採用されています。
  • 金融計算などでは、丸め方の規則を明確に決め(例えば常に小数第3位で四捨五入する、あるいは銀行家の丸めを使う等)、処理全体で一貫させることが重要です。
  • 報告・表示の際は、有効数字と誤差(不確かさ)を明示する、または必要に応じて桁数のルールを記述して誤解を防ぎます。

以上が、有効数字(総桁数)と小数点以下の桁数(小数桁)、および丸めに関する基本的な定義と実例、注意点です。