"Y a pas moyen de travailler avec de gros nombres ça me parait étrange quand même. J'aurais bien aimé essayer "
En C/C++ y'a pas de gestion des BigInt native, ni dans la bibliothèque standard, alors que les langages de plus haut niveau l'implémentent généralement de façon transparente pour l'utilisateur (c'est pour ça que tu peux avoir des int "infinis"). En Ruby par exemple, la conversion est faite automatiquement (tout du moins à partir de 1.9), passant de Fixnum, limité en taille à l'implémentation, à BigNum, illimité en apparence, quand on dépasse le 2^n-1.
Si tu veux manipuler des Bigint en C/C++, soit tu fais ta propre implémentation de cette classe (généralement tu peux la simplifier aux seules opérations arithmétiques dont tu as besoin pour ton problème, par exemple l'addition et la multiplication), en te servant des manipulations de bit (ou en stockant en strings
), soit t'utilise des libs déjà faites, genre GMP ou TTMath. La très célèbre lib Boost inclut un module Boost.Multiprecision qui implémente aussi une classe similaire.