我一直在努力一段時間,現在出現了一個我無法修復的錯誤。
我搜索了互聯網沒有任何成功,並開始流浪,如果有可能我想完成。LinkedList的使用<BigInteger>
我想要創建一個數量巨大的節點,這麼龐大,我需要BigInteger。
我創建了LinkedList
最適合我的解決方案,所以我開始使用此代碼。
BigInteger[] numberlist = { 0, 1 };
LinkedList<BigInteger> number = new LinkedList<BigInteger>(numberlist);
for(c = 2; c <= b; c++)
{
numberlist [b] = 1; /* flag numbers to 1 */
}
這意味着將鏈表中的所有節點設置爲活動狀態(1)。
變量c和b也是bigintegers。
我從VS10得到的錯誤是:
無法隱式轉換類型「System.Numerics.BigInteger」到「廉政」。一個顯式轉換存在(是否缺少強制轉換?)
的問題:
- 是否有可能實現?
- 如何使用BigInteger(而不是int)標記所有節點的編號?
- 有沒有其他更好的方法來完成這件事?
UPDATE
在這個例子中我用C++作爲計數器。這是可變的,但...
節點列表看起來是這樣的:
numberlist[2]
numberlist[3]
numberlist[200]
numberlist[20034759044900]
numberlist[23847982344986350]
我會刪除處理節點。最多我會使用1,5GB的內存。
請回復此更新,我想知道我的想法是否正確。
我也想從我的錯誤中學習!
我真誠地懷疑你的機器有足夠的內存來衡量BigInteger索引的數組。我誤解了你的要求嗎? – spender 2011-04-25 12:59:48
你的問題仍然沒有多大意義。你如何將這麼多的節點裝入1.5GB?你用他們做什麼?你需要什麼索引? – CodesInChaos 2011-04-25 13:08:18
@CodeInChaos:如果不能將其放入1,5GB內存中,我必須將其分開。但我仍然需要20位數以上的節點號碼。 – Mixxiphoid 2011-04-25 13:10:40