非常非常大的C#浮点数
我正在进行一些人口建模(为了好玩,主要是为了实现承载能力和后勤function的概念)。 该模型适用于多个行星(目前约有100,000个行星)。 当人口达到一个星球的承载能力时,居民开始分支到附近的行星,依此类推。
问题:10万多颗行星可以容纳很多人。 超过C# Decimal
可以处理。 由于我正在使用这些数字做平均值和其他东西,我需要能够使用浮点(或者我只使用BigInt库)。
有谁知道我可以使用的BigFloatingPoint类(或其他)? 谷歌今天非常无益。 我可以编写一个可以运行得很好的类,但是如果存在这样的东西,我宁愿使用预先存在的东西。
使用megapeople的单位来获得更多的净空。
此外,如果我的算术是正确的,Decimal可以让你拥有100,000个行星,每个行星拥有100000000000000倍的地球总数。 你确定这还不够吗?
即使每个星球上有1000亿人,总数仍然只有1E16。 这完全在有符号的64位整数的限制范围内(2 ^ 63到9,223,372,036,854,775,807,差不多是1E19 …
在你接近极限之前,你可以在每个星球上拥有数百万人,拥有10万个行星……
至于分数和平均值等,当你进行任何这样的计算时,你不能转换成Float或double吗?
你真的需要28位精度吗? 你可以使用浮点进行一些计算吗?
(确切地说是双倍:±5.0e-324到±1.7e308)