-1

浮動小数点数に丸め誤差が発生する理由について混乱しています。誰かが私に例を1つか2つ見せてもらえますか? それらの最小値と最大値は何ですか? それは、最小/最大の間にすべての(すべてではない..どれだけではないにしても)数値と小数を取得することを意味しますか?

したがって、ある国の人口を保持したい場合。つまり、米国では、この目的のために float ではなく intを選択する必要がありますか、それとも効果がありませんか。メモリ、効率、考慮。そして、考慮されていない場合、答えは何でしょうか? 人口数は整数になります。

これらの質問は非常に初歩的であり、ウェブ上では詳細に説明されていますが、非常に複雑になるため、それらをつなぎ合わせるのに苦労しています.

お時間をいただきありがとうございます。

PS: この質問の言葉遣いが不適切な場合は、コメントでお知らせください。分かりやすいように編集していきます。

4

1 に答える 1

1

いいえ、フロートを使用しないでください。floatと int はどちらも 32 ビットのストレージ タイプであり、範囲に関しては何も得られません。

たとえば、signed int の最大値が2147483647float として試行されると、2.14748e+09

したがって、それが人口数だった場合、あなたは を失いました3647

より長い範囲の場合に使用できる最善の方法は、64 ビット型 int ( long longC/C++ の型) です。

編集

効率に関しては、最も効率的なタイプは常にintマシンのワード サイズです。

浮動小数点数では、マシンが数学処理ユニットを追加で使用する必要があります。

したがって、32 ビット マシンの場合、int 32 ビットが最も高速で効率的です。

于 2012-12-08T04:04:13.237 に答える