utilisation de nombre entier tres grand!

utilisation de nombre entier tres grand! - C - Programmation

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

Reply

Marsh Posté le 08-04-2008 à 14:17:56   

Reply

Marsh Posté le 08-04-2008 à 14:18:22    

Reply

Marsh Posté le 08-04-2008 à 14:25:00    

ça m'a l'air compliqué, je vais essayer d'y passer du temps, merci

Reply

Marsh Posté le 08-04-2008 à 14:28:14    

c'est compliqué mais les gens de gmp ont maché la plupart du travail

Reply

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 ...

Reply

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é.


Message édité par Elmoricq le 12-04-2008 à 13:12:38
Reply

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

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed