2015-10-15 77 views
0

因此,我正在制作一款游戏,在这款游戏中我想存储数量非常庞大的游戏,数以万亿和四倍(游戏类型游戏,la Clicker Heroes,只是为了好玩)。以最佳性能存储超大整数的正确方法?

不管怎么说,C#似乎对整数一个32位的限制,但是,我可以得到花车是非常非常大(如999999999999999.0f)

然而,这是存储非常大的最快方法C#中的数字?

我不需要精度,所以浮点型解决方案很好。我只需要速度和存储非常大的整数的能力。

是一个BigInt库的路要走吗?你如何推荐这个?

+0

而不是用什么'显示'去检查什么[该文档](https://msdn.microsoft.com/en-us/library/cs7y5x0x%28v=vs.90%29.aspx)说关于它。这总是一个好的反应。 –

回答

4

不管怎么说,C#似乎对整数一个32位的限制,但是,我可以得到花车是非常非常大(如999999999999999.0f)

这是断然错误的。 C#具有longulong类型对应于.NET的Int64UInt64类型,这两者都是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值加在一起并使用教科书技术的两个常见的算术运算结合起来。

+0

@ Pierre-LucPineault对不起,我做错了。我现在正在重做。 – Dai

+0

@ Pierre-LucPineault在那里,完成:) – Dai

+0

谢谢,我是C#的新手(并且通常严格键入语言)。不知道多个int类型。 – Jaxkr