2012-11-19 2 views
-5

Serait-il char, octet, Int16, Int32, Int64 (peut-être trois derniers non signés, puisque je n'aurais pas de nombres négatifs?). Je l'ai besoin pour la multiplication et l'addition. Les plus petits nombres peuvent contenir un type, plus de parties seront divisées en un grand nombre.C#: le tableau le plus rapide pour des milliards de calculs

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} 

Alors, qui est plus rapide à utiliser pour des milliards de calculs?

+1

Merci pour les points :) – Randolph

+0

Une variable de référence de tableau est toujours une variable. Cela n'a pas d'importance. –

+0

Mais je peux avoir plus de calculs si j'utilise le type char (peut-être plus rapide) ou si j'ai moins de calculs avec le type int32 (peut contenir des nombres plus grands, peut-être plus vite) – Randolph

Répondre

3

Si vous voulez dire:

Puis-je obtenir un avantage de vitesse en divisant un grand nombre en petits morceaux et faire ma propre logique comptable pour l'addition et la multiplication ?

La réponse est non. Utilisez des types suffisamment grands pour contenir toute la valeur, et le compilateur/JIT générera du code machine qui effectuera chaque opération arithmétique en une seule instruction, qui sera aussi rapide que possible.

+0

C'est exactement ce que je veux dire. Mais que faire si j'ai un numéro qui a 100.000 chiffres? Je dois avoir des divisions. – Randolph

+0

@Randolph: Ensuite, utilisez 'BigInteger'. –

+0

Malheureusement, je ne peux pas. Je dois écrire ma propre arithmétique sans cela. – Randolph

Questions connexes