Go to the first, previous, next, last section, table of contents.


計算精度(Precision)

訳注: Precision は有効数字(significant digits)と密接な関係にある概念と考えられるが、両者は区別して訳した。

p (calc-precision) コマンドは、 浮動小数点計算を何桁まで行うかを管理します。 精度は最低でも10進3桁以上で、 メモリと時間の制約内で任意に高くすることができます。 これは浮動小数にのみ作用し、 整数や有理数の計算では常に(厳密解に)必要な精度まで計算されます。

p キーを押すと、精度の入力を促すプロンプトが出ます。 やりたければ、精度を数値接頭引数によって与えることもできます。

多くの内部計算は、通常よりも 1〜2桁高い精度で実行されます。 その計算結果は、事後に現行の計算精度まで丸められます。 特別な表示モードを選ばない限りは、浮動小数は内部精度全てが表示されます。 すなわち、見たとおりの答を得ます。 現行の計算精度を減らしても、既にスタックにある値は変化しませんが、 後の何らかの計算に使われる前に丸められます。 スタック上に存在する値を丸めるには、 c 0c 9 コマンド(Conversions 参照 )が使えます。

計算精度(precision)正確さ(accuracy) の概念を 区別することは重要です。 これらの言葉の通常の用法では、 数値 123.4567 は7桁の precision と4桁の accuracy を持っています。 precision は前後につくゼロを除いた全桁数(有効桁数)で、 小数点の位置は関係ありません。 accuracy は単に、小数点以下の桁数です(後ろのゼロは数えません)。 Calc では小数点以下ではなく、計算の全有効桁数を管理します。 ここを勘違いして設定すると、 `exp(100)' のような計算はとんでもなく長い桁数の答を生成し、 また `exp(-100)' はおそらくゼロに丸められてしまいます! Calc において、これらの計算はちょうど12桁の (あるいは要求した桁数の)有効桁数の答を出します。

precision ではなく accuracy を扱う Calc の機能は、 浮動小数の固定小数点表示(d f; Float Formats 参照 )と、 floorround のような丸め機能 (Integer Truncation 参照 )です。 また、c 0c 9 は関与する数の大きさに応じて、 precision と accuracy の両方を扱います。

小数点以下桁数が固定された特定の目的(例えば、 ドルに対してセントを小数点以下2桁で表すような)に対しては、 整数と「暗黙の」小数点を使うのもひとつの方法です。 例えば、$8.99 割る 6 は 899 RET 6 / と入力して、 149.833 を得(実際は暗黙の小数点により $1.49833 です)、 R を押すとこれを 150 セント、つまり $1.50 に丸めます。

浮動小数の precision に関する更なる議論や関連説明は、 浮動小数 参照 。


Go to the first, previous, next, last section, table of contents.     利用度数