Le microscope numérique
Comment fonctionne-t-il ?
Le cur du programme est composé autour de l'algorithme simple de la division entière. On prend un Dividende que l'on divise par un Diviseur (ou un premier). On obtient alors un Quotient et un Reste. Reste qui redevient le Dividende après une multiplication par la Base (en base 10, multiplier par 10 équivaut à ajouter un 0 à droite du nombre).
Si l'on veut, par exemple, calculer l'inverse de 7 (1/7) en base 10, (voir code, ligne 3386 à 3421) on posera :
Base = 10 et Premier = 7
Puis, ayant posé Dividende = 1 et Quotient = 0
Il suffira d'exécuter en boucle:
Reste = Dividende - Quotient
* Premier;
Dividende = Reste * Base;
Quotient = PartieEntièreDe(Dividende / Premier);
Tant que (le Reste n'est pas égal au premier Reste trouvé)
On récupérera alors dans Quotient les valeurs 1 - 4 - 2 - 8 - 5 - 7 avant de sortir de la boucle.
Cette première étape franchie , nous avons 1/7 en base 10, que nous savons égale à 3+7n (avec n=1). Recalculons le alors en base 3 à l'aide du même algorithme, on obtient 0 - 1- 0 - 2 - 1 - 2 .
Il est alors aisé de combiner ces deux séries consécutives pour en tirer la représentation générale des bases de forme 3+ 7n:
[n][1+3n][2n]===[2+6n][1+4n][2+5n]
Dans les formules ci-dessus, les "unités" sont les chiffres de la série en base 3. La base 10 (3+7n avec n=0 ou n=1) permet de calculer les multiplicateurs de n qui sont obtenus par les différences, chiffre à chiffre, des deux séries obtenues (1-0) (4-1) (2-0) (8-2) (5-1) (7-2). Cette différence fournit bien la série 1 - 3 - 2 - 6 - 4 - 5, pour laquelle la base peut être considérée comme infinie de forme 3+7n.
Cet exemple simple (l'inverse d'un premier) illustre correctement les principes de base des calculs utilisés, mais n'est pas suffisant dès lors que l'on veut calculer :
Les périodes de fractions plus complexes.