:P Bonjour les pros !:P
Je souhaiterais savoir comment faire pour convertir
un nombre en base 10 en base 2, de base 16 vers base 10 ..
Je vous remercie par avance pour vos explications
Jean Marc:mouarf:
Version imprimable
:P Bonjour les pros !:P
Je souhaiterais savoir comment faire pour convertir
un nombre en base 10 en base 2, de base 16 vers base 10 ..
Je vous remercie par avance pour vos explications
Jean Marc:mouarf:
Bien le bonjour,
L'idée des changements de base est de faire des divisions successives et de conserver les restes.
Par exemple pour passer 12 (base 10) à la base 2, on fait des divisions successives par 2
12/2 = 6 reste 0
6/2 = 3 reste 0
3/2 = 1 reste 1
1/2 = 0 reste 1
le résultat attendu est donc 1100 (on lit les restes à l'envers)
Pour passer 123 (base 16) en base 10
1*16^2 + 2*16^1+3*16^0 = 291
Pour passer d'une base A à une base B, il est souvent plus simple de passer par la base 10.
Pour aller de A à 10, ça se fait en sommant des puissances de A (comme pour l'exemple précédent)
Et pour aller de 10 à B, ça se fait par des divisions successives.
juste une précision pour les bases au delà de 10 il convient d'ajouter une routine de conversion
10=A=10
11=B=11
pour cela on se sert des fonctions qui manipulent le code asci
Si je puis me permettre, le sujet des conversions de la base 10 vers une base B a été abordé ici.
http://www.developpez.net/forums/sho...d.php?t=258182
Je conseille à tous de lire une bonne partie de la première page de la discussion. (et notament à random puisqu'elle aborde le problème que tu soulèves)