« Programmation/Abstraction » : différence entre les versions

Contenu supprimé Contenu ajouté
Tavernier (discussion | contributions)
effacement en attendant correction
Tavernier (discussion | contributions)
correction, peu approfondie néanmoins
Ligne 41 :
Pour savoir à quoi correspond <math>765,432</math> en base 2 on modifie la base de calcul d'abord.
 
Ainsi en binaire, <math>765,432</math> voudravoudrait (improprement) dire
 
<math>7\times2^{2} + 6\times2^{1} + 5\times2^{0} + 4\times2^{-1} + 3\times2^{-2} + 2\times2^{-3}</math>
 
Sauf que 7, 6, 5... ne sont pas des chiffres binaires à proprement parler. En décimal on augmente la rangée suivante lorsqu'on arrive à 9, en binaire on le fait dès qu'on arrive à 1, c'est à dire que <math>0_{10}</math> (comprendre zéro en base 10) vaudra <math>0_{2}</math> (zéro en base 2), <math>1_{10}</math> vaudra <math>1_{2}</math>, mais <math>2_{10}</math> vaudra <math>10_{2}</math>, <math>3_{10}</math> vaudra <math>11_{2}</math>, et ainsi de suite.
 
Voici le tableau de correspondance en binaire des 9 chiffres décimaux :
 
{| class="wikitable" id="tableaudecimalbinaire"
|+ Correspondance entre les chiffres décimaux et leur valeur en binaire
! 0 !! 1 !! 2 !! 3 !! 4 !! 5 !! 6 !! 7 !! 8 !! 9
|-
| 0 || 1 || 10 || 11 || 100 || 101 || 110 || 111 || 1000 || 1001
|}
 
Sauf qu'un 7 à la deuxième rangée d'un nombre décimal est fondamentalement différent d'une quelconque équivalence binaire à 7 à la même rangée. Le 7 de la base 10 est le résultat de 70 groupements de 10, on voit donc que si le groupement n'était pas fait sur une base 10, on n'aurait tout simplement pas de 7 ici : traduire un chiffre « basé » en tant que tel n'a tout simplement pas de sens mathématiquement parlant, bien que cela en ait informatiquement parlant, comme on le verra plus loin. Il faut au contraire savoir combien de groupements de 2 peut on faire avec 765, en suivant un décompte binaire. Le moyen le plus rapide est d'effectuer des divisions successives par 2 en retenant la présence d'une partie fractionnée.
 
Ainsi
 
<math>\frac{765}{2} = 382 reste 1 </math>
 
<math>\frac{382}{2} = 191 reste 0 </math>
 
<math>\frac{191}{2} = 95 reste 1 </math>
 
<math>\frac{95}{2} = 47 reste 1 </math>
 
<math>\frac{47}{2} = 23 reste 1 </math>
 
<math>\frac{23}{2} = 11 reste 1 </math>
 
<math>\frac{11}{2} = 5 reste 1 </math>
 
<math>\frac{5}{2} = 2 reste 1 </math>
 
<math>\frac{2}{2} = 1 reste 0 </math>
 
<math>\frac{1}{2} = 0 reste 1 </math>
 
finalement <math>1011111101</math> pour la partie entière. Mais comment représenter la partie fractionnée ?
 
=== La virgule idéale, fixe et flottante ===