Inscription / Connexion Nouveau Sujet
Niveau algorithmique
Partager :

Arithmétique modulaire, conversion de bases à d'autres

Posté par
Aerendil97
22-04-12 à 16:59

Bonjour à tous,
je viens de lire un article sur wikipédia traitant d'arithmétique modulaire, plus précisement des changements de bases, seulement l'un des algorithmes fournis est me semble-t-il peu explicite ; voici le lien :. Si vous pouviez me détailler l'algoriothme  tel que vous le comprenez, cela m'aiderai beaucoup.
Je vous remercie d'avance pour vos réponses,

Aerendil97

Posté par
Aerendil97
re : Arithmétique modulaire, conversion de bases à d'autres 22-04-12 à 17:09

Escusez-moi, j'ai oublier de vous dire de quel algorithme je parlais, il s'agit de celui-ci :

Citation :
Si on sait calculer dans la base de départ, des divisions entières successives par la base donneront en reste les chiffres du résultat, en commençant par les unités. Plus précisément :
q0:= n(le nombre à convertir) ; i:=0;
tant que qi>0 faire (ri+1:=qi mod b ; qi+1:=qi div b; i:= i+1)
les ri sont les chiffres du nombre converti, en partant des unités.

Posté par
pythamede
re : Arithmétique modulaire, conversion de bases à d'autres 23-04-12 à 09:24

A première vue, cet algorithme est faux (pas de beaucoup) mais faux quand même ! Il y a une erreur d'indice. r0 n'est pas défini. En fait, tout est décalé. Il faut remplacer ri+1:=qi mod b par ri:=qi mod b

Posté par
Aerendil97
re : Arithmétique modulaire, conversion de bases à d'autres 24-04-12 à 01:11

En fait, en relisant l'article, je pense avoir compris, mais je ne suis pas sur : que signifie cet opérateur ":=".¸Et merci pour ta réponse, Pythamede, tu a sans doute raison. Je me demande si cet opérateur ne serait pas du genre : "a:=b -> a=a:b". Il s'agirait alors d'un algorithme pour informatique, d'où ma perplexité : la page s'appelle "Base(arithmétique)". Il serait de plus bizarre de faire "i:=i+1" ; ce serait plutôt i=i+1.

Posté par
pythamede
re : Arithmétique modulaire, conversion de bases à d'autres 24-04-12 à 21:09

En Pascal a:=3, cela veut dire : "A prend la valeur 3", tout simplement.

J'imagine que ce langage a les mêmes conventions. D'ailleurs, c'est déjà ce que j'ai supposé en regardant ce code. La seule erreur est ce que j'ai déjà mentionné hier.

Posté par
PtitPao
re : Arithmétique modulaire, conversion de bases à d'autres 26-04-12 à 12:47

Le symbole "a := b" veut dire "a = b par définition".

En mathématique, il y a plusieurs signes égal et il est parfois utile de les différentier (surtout quand il s'agit d'une définition).

Les : dans := permettent de rappeler que la relation "égal par définition" n'est pas symétrique.

Bonne journée

Posté par
Aerendil97
re : Arithmétique modulaire, conversion de bases à d'autres 29-04-12 à 00:33

Merci,
Je crois que j'ai compris ; il ne me reste plus qu'à tester l'algorithme.

Posté par
Aerendil97
re : Arithmétique modulaire, conversion de bases à d'autres 29-04-12 à 03:41

Sinon, je viens de trouver une page internet où tout est très bien expliqué : . C'est bien mieux fait que tout à l'heure car ç'est pas à pas, en expliquant le raisonnement.
Encore merci à vous,

Aerendil97



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !