Un nombre dans une base n donnée s'écrit sous la forme d'additions des puissances successives de cette base.
- Le nombre cn...c2c1c0 en base b, constitué des chiffres cn, ..., c2, c1, c0, peut aussi s'écrire sous la forme cnb + ... + c2b + c1b + c0b, c'est-à-dire un polynôme dont les coefficients sont les chiffres et l'inconnue est la base.
Lorsqu'on veut passer d'une base à une autre, on utilisera 2 méthodes (algorithmes) suivant que l'on sait calculer dans la base de départ ou dans la base d'arrivée.
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.
Si on sait calculer dans la base d'arrivée, on évalue le polynôme (en représentant les coefficients et la base de départ dans la base d'arrivée). La méthode de Horner est généralement utilisée :
v: = cn ; i: = n;
pour i:=n-1 a 0 faire v: = v * b + ci ;
v est le nombre dans la base d'arrivée.
Si on ne sait calculer ni dans la base de départ ni dans celle d'arrivée, on passe par une base intermédiaire où l'on sait calculer.
Si la base d'arrivée est une puissance de la base de départ (exemple : de la base 2 à la base 16), on peut convertir groupes de chiffres à chiffre, localement et directement.