2012-11-19 12 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