2019年10月22日火曜日

VS 有効桁数と誤差と利用環境 特に三角関数

日頃から、偶には、msdn (Forum) を覗く様にしています。
それは、知識深める為でもあり、興味本位からでもあります。
稀に、極稀に、 自分で回答候補を提示出来る場合には、書き込みますが、
今回の様に、知見を広める事に繋がる事だってあります。  その方が多いかも。


変数には型があって、有効桁数も決まっています。
整数ならいざ知らず、実数(小数)ではそれに留意しないと ... 。
適切な型を用いるのは勿論、演算で誤差も生じます。

でも、恥ずかし乍ら、PC の CPU (or FPU) によって、
結果が違い得る、とは 認識の外 でした。

そうです。
私の場合、四則演算が殆どで、難しい計算が必要になるケースは皆無に近いのです。
でも、知識として知って置いた方が良いですね。

三角関数を用いた演算が要求される場合、
有効桁以外にも、留意すべき点がある様です。

三角関数の計算値は 近似 である事。
そして、その まるめ は使うライブラリでは無く、
CPU 或いは FPU の 算出アルゴリズム にも依存している、 と言う事。

ある PC で計算した値と 別の PC とで、
結果が変わる可能性がある! と言う点に留意すべき、なのですね。

詳しい事は、以下の URL を参照下さい。

https://social.msdn.microsoft.com/Forums/ja-JP/2dc86cb0-14cb-4aad-a5f5-04badf3633b8/ieee-754200812395123881235612390?forum=netfxgeneralja


少なく共、
値によって、条件分岐する場合には、要注意 なのでしょうね。


具体的な事例を述べられる程には知識が無いので、
対策等については、別途、検索なさって下さい。


こんな注意点もある、と言う事で。

   そんな事も知らないのか! と言うレベルの私です。 ;)



0 件のコメント:

コメントを投稿