doubleからfloatに変換すると、精度が低下するかどうかを確認しようとしています。明らかに、変換を実行してフロートをdoubleに変換し直し、元の値と比較することができます。もっと直接的な方法があるかどうか知りたいです。
質問する
1601 次
2 に答える
9
フロートとバックへの変換は、一般的に最も効率的なソリューションです。ほとんどの一般的なアーキテクチャでは、必要な命令は2つだけで、レイテンシはそれぞれ2、3サイクルです。これには、シンプルで正しいという利点もあります。
浮動小数点のハードウェアサポートがないプラットフォームでは、数値を分解し、指数と仮数が単精度に適合するかどうかをチェックすることで、より効率的にチェックを行うことができますが、これは比較的まれなコーナーケースです。これはエラーが発生しやすく、さまざまなFP形式を使用するプラットフォームに移植できません。
于 2013-01-08T14:31:59.170 に答える
0
浮動小数点数には、仮数と指数の2つの部分があります。ダブルには、両方の部分に割り当てられたより多くのビットがあります。浮動小数点数にdoubleを割り当てると、仮数ビットがドロップされ、予想される精度の桁数が少なくなります。ただし、二重指数がfloat指数に収まらない場合、floatはガベージ値になります。
于 2013-01-08T15:14:27.287 に答える