Exemple : 160 en base 7 Exemple : 600 000 en base 82 Effectuer des opérations dans d’autres bases En binaire Additionner en binaire Multiplier deux nombres en binaire Conclusion petites notes réellement ? Comment est construit notre système de nombres ? Pour répondre à cela, oublions tout et reprennons depuis le début : comment avez vous appris à compter à l’école ? Ça peut parraître simple comme question, mais notre système de comptage suit une logique simpliste. Sa compréhension est la clé qui vous ouvrira ensuite la porte pour apprendre à compter dans n’importe quelle autre base.
Dans la pratique, nous comptons en base IO. Certains diront que cette pratique est venue du fait que nous avons 10 doigts. Il en découle principalement deux choses : Il existe IO chiffres : O, 1, 2, 3, 4, 5, 6, 7, 8 et 9. Avec ces chiffres ont peut compter jusqu’à 9. (La plus haute valeur des chiffres. ) Pour aller au delà de 9 il faut changer de rang. Ça veut dire que si le rang des unités est plein, on commence le rang des dizaines et on remet les unités à zéro. Ensuite, on re- complète le rang des unités jusqu’à ce qu’il soit de nouveau plein.
Puis on ajoutera une dizaine et les unités seront de nouveau emis à O, et ainsi de suite. par exemple, arrivé à 19, le rang des unités est plein. On ajoute donc une dizaine et on remet à zéro le rang des unités : on arrive donc à 20. Vous me suivez ? J’ai parlé de rangs des centaines, de dizaines et d’unités. On voit que une centaine vaut 10 dizaines et que une dizaines vaut 10 unités. Plus mathématiquement, un rang est égale au précédent multiplié 10. On peut dire que chaque rang est à une puissance de 10 supérieur au précédent.
IE De cette manière, le nombre 56 = 50 + 6 mais que l’on peut aussi écrire 56 = 5×101 + 6×100. Ce que je viens de faire, c’est décomposer 56 en puissances de 10 (unités, dizaines, centaines… ). On peut décomposer chaque nombre en puissances de 1 0 successives. par exemple, 3506 = 3×103 + 5×102 + 6×100. Avec cette explication, vous devez avoir compris qu’en base 10 • On change de rang dès que la précédente est à 9. On peut décomposer tous les nombres en puissance de 10. Si on décompose un nombre en puissances de 10, c’est parce que 10 est notre base.
Ceci est important, car en base 2, il faudra décomposer en puissances de… Deux ! Le binaire est le mode de comptage non plus en base 10 mais n base 2. Il est utilisé par les ordinateurs, car les machines ne peuvent comparer que deux valeurs : des 1 et des O. Je vous avais parlé des rangs (unités, dizaines, centaines… ), et bien sachez qu’en binaire on emploie le mot « bit » (contraction de « binary-digit signifiant simplement « rang binaire Par exemple, le nombre en base 2 « 10011 » s’étale sur 5 bit.
Là où cela se complique, c’est u’en binaire chaque rang ne peut prendre que deux valeurs prendre dix en décimal). 3 OF IE rang. En binaire, un rang commence à O et se termine à 1. Vous pouvez en comprendre que chaque bit représente une uissance de 2, tout comme chaque rang en base 10 est une puissance de 10. Bon, pour commencer et tenter dy voir un peu plus clair, on va compter en binaire jusqu’à dix : valeur en décimal : équivalent en binaire : explications : 0010gique ! 11 simple ! 210Le premier rang a atteint le maximum autorisé ! Qu’à cela ne tienne, on passe au rang suivant.
On met le second à 1 et on remet le premier à O. 311 On re-remplit le rang 1. 4100Le rang 1 est plein, mais le 2 aussi ! On passe donc au troisième et on remet les précédents à O (comme on le fait lorsque l’on passe de 0999 à 1000, par exemple). 101 On procède de même. 6110 7111 810000n entame le quatrième rang. 91001 On recommence au premier… 1010100n rempli les rangs. Il suffit d’appliquer une règle : entamer le rang suivant quand celui en cours est plein! Bon, pour compter jusqu’à IO ou même 20, cela va encore de remplir ce tableau, mais si je vous demande de convertir 450 en binaire ?
Vous n’allez pas monter un par un, si ? Dans ce qui suit, on va voir une technique générale. on doit décomposer notre nombre en puissances de 2. C’est le même principe que la décomposition en puissances de dix, sauf ue l’on ne décompose pas en milliers, centaines et dizaines, mais en puissances de deux ; qui sont : 1, 2, 4, 8, 16, 32, 64 512, 1024, etc (une valeur est égale à la précédente multipliée par 2). Ainsi, si l’on prend l’exemple du nombre 26, on obtient la décomposition suivante : 26 = 16 +8 + 2.
Il suffit ensuite de remplacer ces nombres par les puissances : 262 16+8+2 IX16+1X8+lX2 1*24 + + puissances de 2) (on écrit les coef sous forme de 1 x24 + 1 x23 + 0x22 + 1×21 + 0x20 (on ajoute les puissances de 2 qui manquent) 26= 1×24 + 1×23 + 0x22 + 1×21 + 0x20 (voyez les puissances de qui sont toutes là) 1×24 + 1×23 + 0x22 + 1×21 + 0x20 (en orange : notre nombre en binaire l) Il est important de ne pas oublier les puissances dont les coefficients sont zéro. Finalement, pour obtenir le nombre 26 en binaire, il suffit de mettre les coefficients qui sont devant les puissances de 2 à la suite.
On obtient : 11010. on écrit : (26)dec = (11 010)bin Je récapitule la méthode : On a notre nombre en décimal. On le décompose en valeurs de puissances de 2 Si certaines puissances manquent, on les rajoutent en mettant O devant. On lit les coefficients devant les uissances de 2, ce sera notre ombre en binaire ! par commodité, d’écriture, on regroupe les chiffres par 4 (par ex : 101010101 se notera 1 0101 0101). On verra pourquoi plus loin. Méthode 2 : les divisions euclidiennes par 2 Tout aussi simple à comprendre.
Cette méthode est mieux pour des grands nombres et est plus facile à utiliser en programmation (il est facile den faire un algorithme). Voilà comment on fait On le divise par 2 et on note le reste de la division (c’est soit un 1 soit un O). On refait la même chose avec le quotient précédent, et on met de nouveau le reste de coté. On re-itère la division, et ce jusqu’à ce que le quotient est O. Le nombre en binaire apparaît : le premier à placer est le dernier reste non nul. Ensuite, on remonte en plaçant les restes que l’on avait. On les place à droite du premier 1.
Comme rien ne vaut un exemple • Notre nombre est 164 20 -2=2+1 + 2=1+0 *2-0+1 82 41 5 2 + 2=41 +0 +22 +1 On voit apparaître notre nombre binaire en rouge : il faut le lire de bas en haut. Joli non ? 6 OF IE voit qu’il s’étale sur 7 rangs, et sait que chaque rang correspond à une puissance de 2 : le premier (en partant de la droite) est le ang O, le second est le rang 1, etc. Pour le convertir en décimal, on procède de la manière suivante • on multiplie par 20 la valeur du rang O, par 21 la valeur du rang 1, par 22 la valeur du rang 2, par 210 la valeur du rang 10, etc.
Pour notre nombre 101 0110, on a donc 0x20 + 1×21 + 1×22 + 0x23 + 1×24 + 0x25 + 1×26. Ensuite, il suffit simplement de remplacer les puissances de 2 par leurs valeurs et de faire la somme : 0x1 4 1×2 + 1×4 + 0x8 + 1×16 + + = 86. donc : (101 0110)bin = (86)dec Après le binaire, voici venu une autre base : le système hexadécimal qui travaille en base 16. Si vous avez suivi jusqu’ici, vous devinerez qu’il faudra 16 caractères différents pour représenter chacune des 1 6 valeurs. C’est alors qu’avec une originalité déroutante, en hexadécimal, les caractères sont O, 1, 2 etc. usqu’à 9 ainsi que A, B, C, D, E et F. Vous l’aurez compris : A en hexadécimal vaut 10 en décimal, B vaut 11, et F vaut 15. En hexadécimal, le changement de rang se fait donc à F. Ainsi E+l = 10 (dire « un-zéro »). Plus compliqué : F+B IA. est aussi « facile » qu’avec le binaire. Pour le binaire il fallait décomposer en puissances de 2, ici on décompose en puissances e 16. Ces puissances de 16 sont ? Alors ? Ok, Je vous donne les premlers : 160- 1 161= 16 162= 256 163= 4096 164= 65536 Pour l’exemple, je prendrais le nombre 1680.
Il faut donc commencer par le décomposer en puissances de 16 1680 = 6×256 + 9×16 + OXI 1680 = 6×162 + 9×161 + 0x160. La conversion en hexadécimal de 1680 est donc 690 (lire « six- neuf-zéro »). Un autre exemple : convertissons 2009 en hexadécimal : 2009 = 62 + 13*161 + 9*160. ce nombre en base 16 correspondant à 2009 est donc 7D9 (rappelez vous, chaque rang peut monter jusqu’à 15 en base 16, et le D vaut 13). C’est le même principe qu’avec le binaire, le changement de base se fait juste à 16 au lieu de 2. Conversion de Ihexadécimal en décimal Dans ce sens, c’est plus simple : prenons un nombre : 4F2C.
Il a 4 rangs : chaque rang est une uissance de 16 : pour convertir, on multiplie le premier ra de la droite) par 160, le 8 OF conversion entre l’hexadécimal et le binaire est super facile si vous savez manipuler ces bases entre les nombres O et 15. Prenons un nombre en binaire : 101 0011 1011. Notez que je l’ai séparé en blocs de 4 chiffres (comme on sépare les nombres en bloc de 3. Par exemple, 30000 s’écrit 30 000). Ceci nous simplifie la tache : en effet, on sait que 4 rangs binaires permettent de monter jusqu’à 15. Et bien, 1 rang en hexadécimal aussi ! Cela vient du fait que 24 (4 rangs en base 2) = 161 (1 rang en base 16)). De cette façon, 4 bits en binaire seront représentés par un rang en hexadécimal ! Ainsi, le premier quadruplet : 1011 deviendra un seul rang en hexadécimal : 11 en décimal B en hexadécimal. Le second quadruplet 1011 001 1 devient 3 en hexadécimal ; et finalement le dernier : 101 (ou 0101) devient : 5. Ainsi, (101 0011 1011)bin (53B)hex. On va utiliser le même principe que ci-dessus, à savoir qu’un rang n base 16 correspond à 4 rangs en base 2. On convertira le nombre hexadécimal BE57.