Comment déclarer une variable entière de 1024 bits de longueur?
-
27-10-2019 - |
Question
J'essaie d'écrire un algorithme pour une classe fusionnée de théorie / informatique qui peut prendre en compte de grands nombres que le temps exponentiel. J'utilise le compilateur G ++ sur une machine 64 bits mais quand je chaîne ensemble long
Cela me permettra de faire jusqu'à 2 longs. Existe-t-il un moyen de lui dire d'utiliser une quantité arbitraire d'espace pour une variable?
La solution
Vous aurez besoin d'une bibliothèque. Un bon est http://gmplib.org/
Autres conseils
Si vous voulez juste une collection de longs, vous pouvez déclarer un éventail de longs. Mais tu ne veux pas ça. Tu veux https://mattmccutchen.net/bigint/ BigIntegers :-)
Alternatives:
(Avertissement: je ne les ai pas testés / utilisés)
Ou si vous voulez les implémenter
Comment implémenter Big Int en C ++
J'ajouterai que la bibliothèque C ++ STD ne contient pas une grande implémentation entière (source Implémentation de la classe STL Big int )