utilisation de nombre entier tres grand! - C - Programmation
Marsh Posté le 08-04-2008 à 14:25:00
ça m'a l'air compliqué, je vais essayer d'y passer du temps, merci
Marsh Posté le 08-04-2008 à 14:28:14
c'est compliqué mais les gens de gmp ont maché la plupart du travail
Marsh Posté le 12-04-2008 à 12:53:32
oui mais la je ne dispose pas de connaissance suffisante pour utiliser une librairie, je souhaiterai une solution plus proche du C de base ...
Marsh Posté le 12-04-2008 à 13:10:57
S'il y a une bibliothèque, c'est que ça demande suffisament d'effort pour en justifier la présence.
Et c'est précisément le cas : ce n'est pas si simple de fournir des outils pour pouvoir travailler avec des grands nombres lorsque la plus grande capacité de stockage pour un entier, en C, et encore quand les compilateurs sont à jour avec la dernière norme, c'est le "long long int" (64 bits minimum), soit une plage garantie de valeurs qui va de -9,223,372,036,854,775,807 à 9,223,372,036,854,775,807 ... ce qui n'est pas assez pour tes besoins.
Tu gagneras du temps à apprendre à te servir d'une bibliothèque qu'à la recoder toi même, il n'y a vraiment rien de sorcier en plus :
http://mapage.noos.fr/emdel/notes.htm#bibliotheque
Il suffit juste d'avoir la documentation pour savoir quelles sont les fonctionnalités de la bibliothèque, avoir les fichiers *.h de la bibliothèque à utiliser avec la directive #include, et compiler le projet en indiquant au compilateur les bibliothèques additionnelles (cf. la documentation de ton compilateur).
Exemple : en C il y a la bibliothèque standard, connue sous le doux nom de "libC".
Cette bibliothèque implémente toutes les fonctions de base du C : printf(), strtok(), write(), fork(), etc.
Pour pouvoir accéder à ces fonctions, la libC fournit un jeu standardisé de fichiers *.h que le développeur doit inclure à son programme : stdio.h, stdlib.h, etc (tu les trouveras généralement dans /usr/include sous Unix).
Si tu es sur un unix, tu trouveras aisément un libc.so qui se balade, généralement dans /usr/lib. Par défaut, tous les compilateurs incluent cette bibliothèque, de base, et fournissent une option pour NE PAS la mettre (utile dans certains cas TRES particuliers).
Sur gcc par exemple, toute compilation se fait, de base, comme si tu appelais "gcc -lc" (inclure la lib C, c'est-à-dire le fichier qui commence par [lib]c[extension .a ou .so], tous les fichiers lib en C commençant par le préfixe "lib" ).
Voila, ce n'est pas plus compliqué.
Marsh Posté le 14-04-2008 à 11:47:54
soad0188 a écrit : oui mais la je ne dispose pas de connaissance suffisante pour utiliser une librairie, je souhaiterai une solution plus proche du C de base ... |
Yen a pas
Marsh Posté le 08-04-2008 à 14:17:56
Salut,
je travaille sur la cryptographie et je voudrai utiliser des nombres entiers très grands (genre +de 20 chiffres)
jusque la j'utilisais int ou long mais ce n'est pas suffisant.
comment puis je faire ?
merci