質問

いくつかのポピュレーションモデリングを行っています(おもしろいために、主にキャリングキャパシティとロジスティックス機能の概念で遊んでいます)。このモデルは複数の惑星で動作します(現在、約100,000個)。人口が1つの惑星の収容能力に達すると、住民は近くの惑星に分岐し始めます。

問題:100,000個以上の惑星に多くの人々を収容できます。 C# Decimal が処理できる以上のもの。私はこれらの数値を使用して平均値やその他の処理を行っているため、浮動小数点を処理する機能が必要です(またはBigIntライブラリを使用するだけです)。

BigFloatingPointクラス(または私が使用できるもの)を知っている人はいますか? Googleは今日非常に役に立たない。おそらく十分に機能するクラスを作成できますが、そのようなものが存在する場合は、既存のものを使用したいです。

役に立ちましたか?

解決

より多くのヘッドルームを実現するには、メガピープルのユニットを使用します。

また、私の計算は正しいです。それだけでは不十分ですか?

他のヒント

各惑星の人口が1,000億人であっても、合計は1E16にすぎません。これは、符号付き64ビット整数の制限内です(2 ^ 63は9,223,372,036,854,775,807になり、ほぼ1E19 ...

限界に近づく前に、1惑星あたり10億人の惑星で100万人の人々を連れて行くことができます...

分数や平均などについては、そのような計算を行うときに、Floatまたはdoubleに変換できませんか?

本当に28桁の精度が必要ですか?いくつかの計算に浮動小数点を使用できますか?

(正確にはダブル:± 5.0e− 324から± 1.7e308)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top