Conversion de nombres réels du décimal en binaire et inversement

Dans cette vidéo pédagogique, le présentateur explique comment convertir des nombres réels entre les bases binaire et décimale. Il commence par la conversion de nombres binaires à décimaux en appliquant la règle des puissances de 2 (exemples : 101,11 → 5,75 ; 1101,01 → 13,25 ; 1,101 → 1,625). Ensuite, il montre la conversion décimale → binaire, d’abord par décomposition en sommes de puissances de 2 (exemple : 32,625 = 2⁵ + 2⁻¹ + 2⁻³ → 100000,101) et ensuite en détaillant la méthode la plus courante : division successive par 2 pour la partie entière et multiplication successive par 2 pour la partie fractionnaire. Il illustre cette méthode avec plusieurs nombres (32,625, 12,5, 6,1), explique la génération de fractions récurrentes (ex. 0,2 → 00110011… ) et la notion de précision limitée. Enfin, il rappelle que ces conversions basiques sont un prérequis avant d’aborder la norme IEEE 754 de représentation en virgule flottante, qui sera traitée dans la prochaine leçon.
Chapters
Bonjour à tous et bienvenue dans cette nouvelle vidéo sur les systèmes numériques. Aujourd'hui, nous allons voir comment convertir les nombres binaires réels en décimaux et inversement. Notez que les notations que l'on verra dans cette vidéo ne sont pas vraiment celles qui sont utilisées par les ordinateurs actuels. En effet, pour représenter un nombre réel, c'est la norme IEEE 754 dite norme de la virgule flottante qui est utilisée en informatique. Mais il faut passer par les conversions basiques que l'on traitera ici avant de s'attaquer à l'implémentation de la norme IEEE 754 qui sera le sujet de la vidéo prochaine. On commence par le premier nombre binaire 101,11. On va le convertir en décimal. Comme nous l'avons fait pour la conversion des nombres binaires naturels en nombres décimaux, on va fixer les exposants. Dans ce cas c'est 0, 1, 1, 2, et à droite de la virgule c'est -1 et -2. C'est exactement le même principe utilisé pour les nombres décimaux. C'est égal à 2 à la puissance 2, c'est ça, plus 0 à la puissance 1, pas la peine de noter parce que c'est nul, plus 2 à la puissance 0 qui est là, plus 2 à la puissance -1, plus 2 à la puissance -2. Donc c'est égal à 4 plus 1 plus, là c'est 1/2, plus un quart, qui est égal à cinq plus zéro virgule cinq plus zéro virgule vingt-cinq, ce qui donne cinq virgule soixante-quinze. Deuxième nombre: un un zéro un Vergule zéro un. Les puissances zéro un deux trois. Là c'est moins un et moins deux. C'est égal à deux à la puissance trois plus deux à la puissance deux plus deux à la puissance zéro plus deux à la puissance moins deux. Donc c'est égal à huit plus quatre plus un plus un sur deux à la puissance deux. Ce qui donne 13,25. Troisième nombre: 1,101. Là, c'est la puissance 0, c'est la puissance -1, -2 et -3. Donc c'est égal à 2 à la puissance 0, 2 à la puissance -1+ 2 à la puissance -3. C'est égal à 1+ 0,5+ 0,125. C'est égal à 1,625. Alors c'est comme ça qu'on fait pour convertir un nombre binaire réel en décimal. Alors l'opération n'est pas très compliquée. Maintenant on va faire l'inverse, on va passer du décimal au binaire. Commençons par le premier nombre 32,625. Comme on l'a fait pour la conversion d'un nombre décimal en binaire, on peut décomposer ce nombre sous forme d'une somme de puissances de 2. Alors ce nombre est égal à 32+ 0,5+ 0,125, c'est égal à 2 à la puissance 5 plus 2 à la puissance -1 plus 2 à la puissance -3. Alors on va mettre 1 à la position 5, des 0 partout jusqu'à la position 0, donc 4, 3, 2, 1 et 0, virgule, 1 à la position -1, 0 à la position -2 et 1 à la position -3. Ce qui donne 1 5 0, 1 0 1. Mais la décomposition d'un nombre sous cette forme n'est pas toujours chose aisée, alors on va opter pour la solution la plus populaire qui consiste à la division consécutive par 2 pour la partie entière et la multiplication consécutive par 2 pour la partie fractionnaire. Alors 32,625, on va représenter la partie entière toute seule, donc 32. Soit on va effectuer la division consécutive par 2, mais sinon 32 c'est un nombre qui nous est familier, c'est 2 à la puissance 5. Alors 32 base 10 égale 2 à la puissance 5, 1 à la position 5 suivie de 5 zéros. Maintenant pour la partie fractionnaire, on mettra virgule ici, on enlève carrément ça. On va prendre la partie fractionnaire 0,625. On va multiplier par 2, ça donne 1,25. Puisque le résultat est supérieur à 1, donc on va mettre la valeur 1 ici. Maintenant on va soustraire 1 de cette valeur, ce qui donne 0,25. On multiplie par 2, c'est égal à 0,5. Puisque 0,5 est inférieur à 1, donc on mettra 0 à cette position. Maintenant on va prendre cette valeur directement sans soustraire 1 parce que c'est inférieur à 1. Alors 0,5 fois 2 égal à 1, et là on mettra la valeur 1 puisque 1 est supérieur ou égal à 1. L'opération prend fin quand on atteint un résultat qui est égal à 1, pas la peine de continuer. Alors la représentation binaire du nombre décimal 32,625 est 150,101. Deuxième nombre décimal: 12,5. Alors on va coder la partie entière indépendamment, donc c'est égal à 1100, virgule. Pour la partie fractionnaire, on va prendre 0,5, on multiplie par 2, c'est égal à 1. Puisque 1 est supérieur ou égal à 1, donc on met ici 1. Et puisqu'on atteint la valeur 1, alors on arrête, pas la peine de continuer. Donc la représentation de 12,5 en décimal, c'est 1100,1. Dernier nombre décimal, c'est 6,1. Donc même chose, on va coder la partie entière indépendamment. 6, c'est 1 1 0, virgule. Maintenant, on va prendre la partie fractionnaire. 0,1 fois 2 égale 0,2. Puisque c'est inférieur à 1, alors on met un 0. 0,2 fois 2 égale 0,4. Puisque c'est inférieur à 1, on met encore un 0. 0,4 fois 2 égale 0,8. Puisque c'est toujours inférieur à 1, alors on met un 0. 0,8 fois 2 égale 1,6. Puisque c'est supérieur à 1, dans ce cas on met un 1 et on soustrait 1 du résultat. Alors ça donne 0,6 fois 2 égale 1,2. Puisque c'est supérieur à 1, alors on met 1 et on soustrait 1 du résultat, ce qui donne 0,2 qu'on va multiplier fois 2. Et on va boucler sur cette opération, c'est la même chose qui va se répéter, 0,2, etc. Donc là on obtient 00110011, etc. Donc on aura 00110011 à l'infini. Bien sûr, on n'est pas obligé de mettre autant de bits dans la partie fractionnaire, donc là ça dépend de la précision que vous cherchez. Par exemple, si je veux conserver juste 6 chiffres après la virgule, donc je vais m'arrêter ici. Ce qui donne 110,00110. Alors là, c'est la représentation du nombre décimal 6,1. Comme je l'ai mentionné il y a quelques instants, la représentation qu'on a traitée dans cette vidéo est provisoire, mais ça sert de base pour passer à la représentation de la virgule flottante avec la norme IEEE 754 que l'on verra dans la prochaine leçon. Merci pour votre attention et à la vidéo prochaine.
More from Yamossoun

Algorithme de calcule de la racine carrée par dichotomie #dichotomy #squareroot #algorithm









