Division eclidienne en C [Résolu]

Signaler
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009
-
Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009
-
Bonjour,
Je suis actuellement entrain de réaliser un projet sur le codage de hamming et j'aurai besoin d'aide pour faire une division euclidienne en binaire.
Enfaite je voudrais diviser 65 (1000001) par 12(1100) par exemple.
et je vois comment le faire sur papier mais je n'ai aucune idée de comment procéder avec un algorithme.

Merci d'avance.







--------------------
StimL.

3 réponses

Messages postés
132
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
18 juin 2009

Merci de votre réponse mais ce n'est pas ce quej'attendais enfaite je veut pas travaillé sur les entiers mais sur les bits.
J'ai heureusement trouvé la solution:





generateurbit = polynome générateur (x^3+x^2 en polynome, 12 en entier et 1100 en binaire).
xn = x^n+1 avec n la taille du code ici 7 (x^7+1 en polynome, 65 en entier et 1000001 en binaire).
taille = c'est la taille du code ici j'ai pris 7.
maxdegre = c'est le plus au degre du polynome générateur ici dans l'exemple c'est 3.






tempgene = generateurbit;






for

(i=taille; i>=maxdegre; i--)


{



generateurbit = generateurbit << (i - (maxdegre+1));



xn = xn^generateurbit;



generateurbit = tempgene;



}

J'espère que j'ai pu aider quelques un ...
En tout cas encore merci pour vos réponses.










--------------------
StimL.
Messages postés
540
Date d'inscription
vendredi 25 juin 2004
Statut
Membre
Dernière intervention
1 octobre 2007
2
Je ne connais pas le codage de hamming mais une division euclidienne se fait, en C
a l'aide de l'operateur % soit:
65%12= 5 ...

Louis
Messages postés
181
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
26 janvier 2011
1
le % en C est en faite la fonction modulo