[英]Very, very large C# floating-point numbers
我正在进行一些人口建模(为了好玩,主要是为了实现承载能力和后勤功能的概念)。 该模型适用于多个行星(目前约有100,000个行星)。 当人口达到一个行星的承载能力时,居民开始分支到附近的行星,依此类推。
问题:10万多颗行星可以容纳很多人。 超过C# Decimal
可以处理。 由于我使用这些数字做平均值和其他东西,我需要能够使用浮点(或者我只使用BigInt库)。
有谁知道我可以使用的BigFloatingPoint类(或其他)? 谷歌今天非常无益。 我可以编写一个可以运行得很好的类,但是如果存在这样的东西,我宁愿使用预先存在的东西。
使用megapeople单位可以获得更多的空间。
此外,如果我的算术是正确的,十进制可以让你拥有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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.