因此,我正在制作一款游戏,在这款游戏中我想存储数量非常庞大的游戏,数以万亿和四倍(游戏类型游戏,la Clicker Heroes,只是为了好玩)。以最佳性能存储超大整数的正确方法?
不管怎么说,C#似乎对整数一个32位的限制,但是,我可以得到花车是非常非常大(如999999999999999.0f)
然而,这是存储非常大的最快方法C#中的数字?
我不需要精度,所以浮点型解决方案很好。我只需要速度和存储非常大的整数的能力。
是一个BigInt库的路要走吗?你如何推荐这个?
因此,我正在制作一款游戏,在这款游戏中我想存储数量非常庞大的游戏,数以万亿和四倍(游戏类型游戏,la Clicker Heroes,只是为了好玩)。以最佳性能存储超大整数的正确方法?
不管怎么说,C#似乎对整数一个32位的限制,但是,我可以得到花车是非常非常大(如999999999999999.0f)
然而,这是存储非常大的最快方法C#中的数字?
我不需要精度,所以浮点型解决方案很好。我只需要速度和存储非常大的整数的能力。
是一个BigInt库的路要走吗?你如何推荐这个?
不管怎么说,C#似乎对整数一个32位的限制,但是,我可以得到花车是非常非常大(如999999999999999.0f)
这是断然错误的。 C#具有long
和ulong
类型对应于.NET的Int64
和UInt64
类型,这两者都是64位整数,其表示数范围内:
Int64 : -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
UInt64: 0 to 18,446,744,073,709,551,615.
这就是:
十八三次方 ,四千四百六十万七千四百四十亿,七十三亿七千九百五十五万一千六百一十五。
如果你需要存储更大的数字,您可以随时实现自己UInt128
通过将两个UInt64
值加在一起并使用教科书技术的两个常见的算术运算结合起来。
而不是用什么'显示'去检查什么[该文档](https://msdn.microsoft.com/en-us/library/cs7y5x0x%28v=vs.90%29.aspx)说关于它。这总是一个好的反应。 –