2012-11-19 31 views
-5

它會是字符,字節,Int16,Int32,Int64(也許最後三個無符號,因爲我不會有負數?)。C#:數十億計算最快的數組

我需要它用於乘法和加法運算。較小的數字可以包含一個類型,一個大數字將被分成的部分越多。

An example: 1234567898765321 
In char: {1, 2, 3, 4, 5, 6, 7, 8, 9, 8, 7, 6, 5, 4, 3, 2, 1} 
In Int32: {123456789, 87654321} 

那麼,這對於數十億計算使用哪個更快?

+1

謝謝你的觀點:) – Randolph

+0

數組引用變量仍然是一個變量。沒關係。 –

+0

但我可以有更多的計算,如果使用字符類型(可能更快)或使用int32類型(可以容納更大的數字,可能更快)更少的計算 – Randolph

回答

3

如果你的意思是:

我可以通過分裂大量成小碎片 ,做我自己攜帶的邏輯加法和乘法 獲得速度上的優勢?

答案是否定的。使用足夠大的類型來保存整個值,並且編譯器/ JIT將生成機器代碼,這些代碼將在單個指令中執行每個算術運算,這將盡可能快。

+0

這正是我的意思。但是如果我有一個數字爲100.000的數字呢?我必須有一些分裂。 – Randolph

+0

@Randolph:然後使用'BigInteger'。 –

+0

不幸的是,我不能。沒有它,我必須寫自己的算術。 – Randolph