Bonjour, j'ai un exercice en algo à faire, je dois convertir un nombre en base 10 vers une base N ( de 2 à 9). Je ne sais pas comment m'y prendre alors je vous demande de l'aide s'il vous plait !!!!
Merci de vos réponses:D
Version imprimable
Bonjour, j'ai un exercice en algo à faire, je dois convertir un nombre en base 10 vers une base N ( de 2 à 9). Je ne sais pas comment m'y prendre alors je vous demande de l'aide s'il vous plait !!!!
Merci de vos réponses:D
Bonjour,
est ce que tu sais au moins convertir dans une base bien précise ? Par exemple en base 2 ?
Si non, voilà comment faire :
- tu divises ton nombre par 2. Tu obtiens un quotient et un reste.
- tu mets le reste de coté (tu le sauvegardes).
- tu réitères l'opération avec le quotient jusqu'à ce que ton quotient soit plus petit que 2 (la base).
- ton résultat est l'ensemble des restes lu à l'envers (de la dernière division vers la première).
Pour faire dans une autre base, c'est la même chose, seul le diviseur change (la base).
Si tu avais fais une petite :recherch:, tu aurais obtenu ceci. Le premier lien t'explique la même chose que moi.
Salut,
dans le pseudo-code ci-dessous , mod est la fonction modulo ...
++Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 // Fonction principale function Nout = base(N,b) { Nout = [] // vecteur vide while N ~= 0 { [q r] = division(N,b) N = q Nout = [r Nout] // concaténer } } // Fonction Utile function [q r] = division(N,p) { r = mod(N,p); q = N-r/p; }