因此,我正在製作一款遊戲,在這款遊戲中我想存儲數量非常龐大的遊戲,數以萬億和四倍(遊戲類型遊戲,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)說關於它。這總是一個好的反應。 –