タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

数値計算に関するsimonettaのブックマーク (3)

  • 【コラム】コンピュータアーキテクチャの話 (104) 10進浮動小数点演算 | エンタープライズ | マイコミジャーナル

    審議中のIEEE 754の拡張である754rの主要な追加の一つは、10進の浮動小数点演算である。科学技術計算の場合は、現在、IEEE 754で定義されている2進の浮動小数点演算で問題が無いが、事務計算では10進演算の必要性が高い。 例えば、2進の浮動小数点形式では、0.1は指数が2の-4で、仮数は1.10011001100 …と1100の繰り返しが無限に続く値となり、有効ビット数の範囲で非常に近い数は表現できるが、きっかり0.1を正確に表現することはできない。このため、利息を計算して、1円単位に切り上げるなどという計算を2進の浮動小数点演算で行うと、誤りが生じる場合がある。このため、財務計算などでは、ソフトウェアで10進の浮動小数点演算を行っている。また、通常、金額のデータなどは10進数の形式で保存されており、これを演算のために2進数に変換し、計算後、10進数に変換して格納するのは、無駄が

  • 【コラム】コンピュータアーキテクチャの話 (103) Newton-Raphson法とGoldschmidt法(2) | エンタープライズ | マイコミジャーナル

    Goldschmidt法 もう一つの方法として、1/bをマクローリン級数で展開し、展開した各項を順に計算していくGoldschmidt(ゴールドシュミット)のアルゴリズムと呼ばれる方法がある。 Goldschmidt法では、a/bを求めるに当たり、被除数aをx(0)とし、除数bをy(0)とする。そして、その逆数の近似値の初期値をr(0)として、x(i+1)=x(i)*r(i)、y(i+1)=y(i)*R(i) とr(i+1)=2-y(i+1)の計算を繰り返す。この繰り返しでy(n)=1となれば、x(n)がa/bの商となる。Newton-Raphson法とは原理は違うのであるが、1回の繰り返しには2回の乗算と1回の2の補数化が必要であり、また、ビット精度も繰り返しごとに2倍になるので、Newton-Raphson法とほぼ同じ手間で割り算ができる。しかし、詳細にみると、実装の観点からは、Gol

  • 【コラム】コンピュータアーキテクチャの話 (102) Newton-Raphson法とGoldschmidt法 | エンタープライズ | マイコミジャーナル

    現在のマイクロプロセサでは、SRT割り算器で商を求める方式が広く使われているが、浮動小数点の除算や平方根の計算には、別の方式も使われている。その代表的なものが、ニュートンラプソン(Newton-Raphson)法とゴールドシュミット(Goldschmidt)法である。これらの方法では、商や平方根の近似値を初期値として、誤差を計算し、次々と近似値を補正するというプロセスを繰り返して精度を改善して行く。このため、これらの方法は、一般的に反復法と呼ばれる。 Newton-Raphson法による除算 a/bの商をQとすると、Q=a×(1/b)である。ここでf(X)=1/X-bという関数を定義する。そうすると、f(X)がゼロとなると、1/X=bとなり、X=1/bとなる。このようなXが求まれば、a×X=Qとなり割り算ができる。ということで、割り算は、f(X)=0となるXを見つけるという問題となる。 N

  • 1