ノート:固定小数点数

ページのコンテンツが他言語でサポートされていません。


固定小数点は浮動小数点よりも「誤差が少ない」のではなく、誤差の予測がしやすく、よって誤差を制御しやすいことが最大の利点ではないでしょうか。特に金融計算では必要な小数点以下の有効桁数が決まっており、それ未満の端数についても処理の仕方が明確に決められているため、またBCD表現では2進小数で誤差なく表現できない0.1、0.01などが誤差なく表現でき、実質的に2進少数しか扱えない浮動小数点よりも金利計算などに適しているために金融分野でよく使われていると思います。

一方、浮動小数点演算では不注意なプログラミングによって思いがけない誤差の拡大を招くことがあり、その分誤差の予測がしにくく、よって誤差の制御もしにくいと考えられます。いかがでしょうか。Bonk 2005年8月11日 (木) 09:02 (UTC)[返信]

おっと書き忘れました。1/3がBCD固定小数点で丸め誤差なく表現できるとは初耳です。10進ではどう考えても0.3333…と無限小数になるため、何かの間違いではないでしょうか。Bonk 2005年8月11日 (木) 09:04 (UTC)[返信]

誤差が予測しやすいというよりも,金融計算の場合,科学技術計算での「誤差」とは別の考え方が必要になるのではないでしょうか. たとえば ( 1.001 x 10^3 ) - ( 1.000 x 10^3 ) = 1 x 10^0 となり,科学技術計算の観点では桁落ちが発生して好ましくない現象とみなされています.. しかし,これが 1001 円 - 1000 円 = 1 円 という金融計算となると,このように桁数が減っても好ましくない計算ではありませんね.

あと,固定小数点数の定義ですが,整数部と小数部が2進表記で分離されてなければいけないのでしょうか? たとえば,「小数点数を 10 倍した値の整数部を2進数表記したもの」は本文の定義では固定小数点数にはなりませんね. --BAK 2008年1月30日 (水) 18:29 (UTC)