CREATION D'UNE BIBLIOTHEQUE BIGINTEGER EN C AVEC LES LISTES CHAINEES

cs_Scorpio2hope Messages postés 4 Date d'inscription dimanche 25 juin 2006 Statut Membre Dernière intervention 17 août 2010 - 8 déc. 2008 à 03:19
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 8 déc. 2008 à 04:50
Bonjour à tous,
J'aimerais concevoir une bibliothèque(librairie) de grands entiers BIGINTEGER en C avec les listes chaînées. Je veux lui ajouter des opérations telles que l'addition, la soustraction, la multiplication, la division, le ppcm, le pgcd, le min, le max, les comparaisons.
Le problème c'est que je n'arrive pas à savoir comment définir ces entiers.
J'ai besoin de votre aide.
Merci d'avance.

1 réponse

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
8 déc. 2008 à 04:50
salut

tu peux les stoquer en base B (a toi de choisir B) et chainer ces nombres. (sur une liste chainee, c'est probablement la meilleur facon de proceder...)

apres, tu as plusieurs choix :
soit tu les chaines a l'envers (unite -> dizaines -> centaines ... )
soit tu les chaines a l'endroit (ce qui ne sert pas a grand chose... a part pour l'affichage)

dans tout les cas, tu ne peux stoquer que des entiers naturels et non des entiers relatifs. donc dans un second temps, tu devras faire une structure qui contiendra le naturel et un signe. (avec les nouvelles fonctions qui vont avec)

bon sinon, pourquoi tu n'utilises pas gmp ?

et pourquoi faire ca sur une liste chainee ?
faire ca sur un tableau statique c'est probablement plus rapide pour la plupart des fonctions (surtout la multiplication en fait...).
faire ca sur un arbre binaire te permet de faire des multiplications rapidement (meme si c'est tres chiant a implementer et que t'y gagnerais probablement pas beaucoup par rapport au tableau...)

bon sinon, pose toi les bonnes questions sur les effets de bords, parce-que pour ce genre de choses ou t'as des pointeurs partout, ca peut poser de gros problemes (genre une fonction pour incrementer c'est pas si trivial que ca...)
0
Rejoignez-nous