Depuis Python 3, il n'y a pas de limite supérieure sur la taille d'un int. Je voudrais traiter d'énormes entiers de plus de 150 chiffres décimaux. C'est beaucoup plus grand qu'un long long non signé est garanti, donc je ne pense pas ...
1 réponse
Manipulez-les simplement comme entiers Python, avec des opérations arithmétiques Python comme PyNumber_Add
et PyNumber_Multiply
. N'essayez pas de convertir en un entier machine.
Maintenant, si vous espériez obtenir un avantage de vitesse en faisant cela en C, eh bien, cela ne se produira pas. Si vous souhaitez optimiser les opérations sur des nombres entiers volumineux, essayez une bibliothèque bignum plus efficace, telle que gmpy2. Assurez-vous également que votre algorithme est efficace - ce _reverseBits
élément de votre question de révision de code est extrêmement inefficace quelle que soit l'implémentation d'entiers utilisée.
Questions connexes
De nouvelles questions
python
Python est un langage de programmation multi-paradigme, typé dynamiquement et polyvalent. Il est conçu pour être rapide à apprendre, comprendre, utiliser et appliquer une syntaxe propre et uniforme. Veuillez noter que Python 2 est officiellement hors support à partir du 01-01-2020. Néanmoins, pour les questions Python spécifiques à la version, ajoutez la balise [python-2.7] ou [python-3.x]. Lorsque vous utilisez une variante Python (par exemple, Jython, PyPy) ou une bibliothèque (par exemple, Pandas et NumPy), veuillez l'inclure dans les balises.