bjr,
on peut considérer une division euclidienne comme celle effectuée à l'école
française en classe de
CM2, en divisant N par le chiffre 12=C , l'écriture de la division
s'effectuant en base 16.
On écrit le dividende en base 16,
N=
et l'on divise par le chiffre 12=C:
si
on obtient le premier chiffre du quotient Q ,
et le premier reste partiel
si
on calcule un dividende partiel:
en regroupant les deux premiers chiffres de N, et le premier chiffre (base 16) du quotient Q est obtenu en divisant d par C.
A la fin de la division, le reste final est inférieur à 12, c'est un chiffre base 16, et aussi le chiffre des unités de N ,en base 12. on recommence alors en prenant comme nouveau dividende le quotient Q obtenu:
pour obtenir le chiffre de poids 1 ("dizaine") de N en base 12.
Grosso modo, on calcule les chiffres de N base 12 par l'algorithme
habituel de division de N par 12, les écritures se faisant en base 16.
Après, question implémentation:
a) ou l'on considère que la machine travaille naturellement en base 16
et on a juste à faire des divisions par 12, :zen:
b) ou alors on écrit les chiffres dans un tableau (par ex, du type unsigned int en C) et il faut tout programmer à la main. A toi de voir.