Multiplications successives

Pour la partie entière, on utilise la méthode des divisions successives vue précédemment.
Pour la partie fractionnaire, on utilise la méthode des multiplications successives :

Soit C un nombre strictement compris entre 0 et 1 :
 
C = (0 , C-1C-2...C-m+1C-m)b
  = C-1 × b-1 + C-2 × b-2 + ... + C-m × b-m
b × C = C-1 × b0 + C-2 × b-1 + ... + C-m × b-m+1
  = (C-1 , C-2...C-m)b
  • C-1 est donc égal à la partie entière de b × C
  • pour trouver les chiffres suivants (C-2 ...), on recommence en multipliant la partie fractionnaire du résultat précédent par la base, jusqu'à ce que la partie fractionnaire du résultat soit nulle.

Exemples

Conversion de la base 10 vers... la base 10

Conversion de la base 10 vers la base 2

Conversion de la base 10 vers la base 8

Conversion de la base 10 vers la base 16

Important : représentation de (0.4)10 en base 2

0.40
0.4
×2
0.80
0.8
×2
1.61
0.6
×2
1.21
0.2
×2
0.40
0.4
×2
0.80
0.8
×2
1.61
0.6
×2
1.21
0.2
×2
0.40
0.4
×2
0.80
0.8
×2
1.61
...
(0.4)10 = (0.0110 0110 0110...)2

Sur cet exemple, on observe une séquence qui se répète indéfiniment. On en conclut donc qu'il n'est pas possible de représenter le nombre (0.4)10 en base 2 avec un nombre fini de bits. Ceci est également vrai pour de nombreuses valeurs autres que 0.4.

Bien entendu, ces erreurs sont propagées et éventuellement amplifiées lors des calculs :

Python

(à tester dans un notebook)
    v = 0.3 - 0.1
    print(v)

Javascript

(à tester dans un script)
    var v = 0.3 - 0.1;
    console.log(v);

Exercices

Effectuez les conversions demandées ci-dessous sans utiliser de calculatrice.