2015-10-15 38 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