Ca peut paraître un peu ringard d’étudier le langage binaire, vu qu’il ya plein de langages évolués maintenant et autrement à la mode (Java, PHP, Visual Basic, C#, etc) et en détail en plus, vu que je viens de vous dire qu’il n’y a que la machine qui y comprend quelquechose et pas nous. Mais justement ca nous fait un petit défi , moi je trouve ca assez motivant, et pi ça dérouille un peu les neuronnes qui s’étaient mis en Stand By devant “l’île de la séduction” et “Starak” ( à pas confondre avec Startrek, où ils ont les oreilles en pointe). Bref pour comprendre le binaire on va d’abord faire du calcul.
Compter en décimal (c’est déjà pas mal)
Arretez de compter en décimal, tout le monde sait le faire ! (hypothèse).
Mais au fait comment on compte en décimal ? Décimal ca veut dire qu’on a 10 chiffres à notre disposition pour faire tous les nombres qu’on veut (y en a plein, y en a même une infinité !). Ca s’appele compter ou calculer en base 10.
Oui y en a 10 des chiffres parce qu’il faut pas oublier le ‘0′ ! : 0,1,2,3,4,5,6,7,8, 9 …ca fait 10 chiffres. Si vous connaissez d’autres chiffres appelez moi. (non, non les chiffres plus gros ça s’appelle pas des chiffres mais des nombres!)
Comment on fait pour écrire des chiffres plus grands que 9 ? … et bien on va laisser tomber les unités et on va utiliser dautres…unités : les dizaines, les centaines, les milliers, les dizaines de milliers, les centaines de milliers, les millions, les …OUF! Vous remarquerez que c’est toujours “à base de 10″ , ou plus exactement une puissance de 10, ou encore 10 multiplié par lui même un certain nombre de fois :
* 100, c’est 10 puissance 2 (ou 10 x 10 )
* 1000, c’est 10 puissance 3 (ou 10 x 10 x 10)
* 10000, c’est 10 puissance 4 ( ou 10 x 10 x 10 x 10)
* etc.
remarque : 10 c’est 10 puissance 1 ( ou 10 x , multiplication a un seul nombre 10 !)
Encore plus fort : 1 c’est 10 puissance 0, ca peut se démontrer en utilisant les règles de calcul sur les puissances sinon croyez moi sur parole)
Il y a donc un “miracle” qu’on a tous oublié, lorsque l’on passe de 9 à 10 (ou de 99 à 100 c’est pareil). Qu’est ce qu’on fait en fait pour écrire un CHIFFRE plus grand que 9 unités en base 10, vu qu’il y a pas plus grand ? et bien on écrit un NOMBRE à plusieurs chiffres : 1 et 0 ! vous allez me dire c’est DIX, c’est pas faux mais qu’est ce que ca veut dire “10″ : ca veut dire UNE DIZAINE PLUS 0 UNITES. En d’autres termes pour dépasser les 10 unités du système décimal on utilise les puissances de 10 supérieures (10 puissance 1, ca s’appelle des dizaines, 10 puissance on appelle ca des centaines, etc.).
Pour “dépasser” 99 : 9 unités + 9 dizaines ou 9*10 puissance 0+ 9*10 puissance 1
En fait tout nombre décimal qu’on a l’habitude de voir, peut toujours s’écrire sous forme d’une addition de puissance de 10 (on notera 10p pour 10 puissance…pour aller + vite). Des exemples ? :
7=7×10p0
32 = 2×10p0 + 3×10p1 (2 unités + 3 dizaines en francais dans le texte)
457 = 7×10p0 + 5×10p1 + 4×10p2
80654= 4×10p0 + 5×10p1 + 6×10p2+ 0×10p3 + 8×10p4
Heureusement tout ca on le fait automatiquement sans même plus faire attention…
Compter en binaire (c’est déjà pas naire)
En binaire c’est exactement la même chose sauf que c’est pas pareil.
Le binaire vous avez deviné, il calcule en base 2 : 0,1,…et on s’arrête parce qu’il n’y en a pas d’autres. La base (ou les puissances que l’on va utiliser) ce n’est plus 10 mais…2. Donc on va avoir des problèmes beaucoup plus rapidement pour compter et composer des nombres.
Les unités s’écrivent comme en base 10 en utilisant le fait que 2p0 ca fait 1 (de même que 10p0 faisait 1 aussi, ca c’est vrai quelle que soit la base qu’on utilise.
Recomptons donc un peu plus finement : 0 (0*2p0)…1(1×2p0)…et après ????? ca coince toujours ?
Bah après c’est pas dur il faut prendre la puissance de 2 supérieure soit 2p1, le nombre qui suit 1 (ou 1×2p0) c’est 1×2p1+0×2p0 c’est donc…10 !!! comme en décimal quand on avait épuisé tous les chiffres de la base 10! sauf que là 10 (le nombre qui s’écrit avec un 1 et un 0), il veut pas vraiment dire DIX mais…DEUX (puisqu’on est en base2)
Allo ? vous êtes toujours là ? une petite aspirine pour la route ?
Pour simplifier on va compter en binaire mais avec l’équivallent en décimal, parce que ca on maîtrise (enfin j’espère). Allez on compte, tout le monde après moi :
0,1,10,11,100,101,110,111,1000,1001,1010,1011,1100,1101,1110,1111
ce qui traduit dans notre système habituel base 10 s’épelle :
0,1,2,3,4,5,…
Pour le fun exercez vous à compter (DANS L’ORDRE!) jusqu’à des très gros nombre en binaire sur un papier. Il suffit de n’écrire que des nombres avec des 0 et des 1, et qu’ils soient de + en + grands. Ainsi en réfléchissant un peu on saura que le nombre binaire juste après 11001 (onze mille un ?) c’est 11010 (onze mille 10) on ne peut pas en trouver de plus près.
Quizz : ET après 1100101001011 ? c’est quoi
revenons à notre comptage :
0 en binaire c’est 0×2p0 = 0
1 en binaire c’est 1×2p0 = 1×1= 1
10 en binaire c’est 0×2p0 + 1×2p1= 0+2=2
11 en binaire c’est 1×2p0 + 1×2p1= 1+2=3
100 en binaire c’est 0×2p0 + 0×2p1 + 1×2p2= 0+0+4=4
Ainsi à partir de maintenant il faut faire attention à ce qu’on dit (ou écrit) on dira 100 en base 10,ca fait CENT et 100 en base 2 (ca fait 4…en base 10)
En binaire on ne parlera pas vraiment d’unité, encore moins de Dizaines et Centaines, mais chaque chiffre s’appellera un BIT (diminutif de BInary digiT en anglais), et on parlera simplement de la taille des nombre.
2 BITS c’est une paire ou un couple, 3 BITS c’est un triplet, 4 BITS un quartet, 5 bits un pentuplet, 6 BITS un sextuplet, 7 BITS un septuplet , 8 bits (très utilisé!) un OCTET.
Quizz : quel est le plus gros nombre (combien il vaut en binaire puis en décimal) que je puisse écrire avec 8 bits, ou en d’autres termes sur un octet ? ET sur 2 octets ? Et pour voir si vous avez compris comment j’écris DIX (10 en base 10) en binaire ? ET CENT ?
Unités de mesure et ordres de grandeur : Octets, KO, MO, GO, etc.
Octets
Un octet on l’a vu c’est 8 bits c’est une unité qui est très utilisée en Informatique notamment pour des raisons historiques :Une case mémoire a longtemps été de la taille d’un octet (système à 8bits de données) puis sont venus les systèmes à 16 bits de données (on pouvait stocker 2 fois plus d’information dans une case de la mémoire), puis 32 bits, etc.
Le nombre de cases possibles de la mémoire ou LA TAILLE de la mémoire ést aussi mesurée en octets. Que ce soit la mémoire centrale de l’ordinateur (ou RAM) qui permet de faire tourner les programmes, ou la mémoire disque, qui stocke les fichiers et les programmes de manière permanente.
Une autre bonne raison qui a fait le succès de l’octet c’est qu’un caractère : ‘A’, ‘B’, ‘C’ (bien utile pour taper au clavier non ?) c’est longtemps resté stocké dans un octet.
L’octet c’est en résumé l’unité classique qui sert à mesurer une quantité d’information. C’est pour cela que la taille d’un fichier, d’un document, d’un programme, de la mémoire RAM, d’un disque dur, d’un CD vierge est mesurée en octets. Cela donne une idée du volume d’information qu’il peut contenir. Un caractère étant souvent stocké (codé) dans un octet, quand on dit ce fichier ‘fait’ 120 000 octets, ca veut dire qu’il contient 120 000 caractères.
remarque : un octet par définition c’est huit fois plus gros qu’un bit. Quand on mesure en bits ou en octets, c’est pas pareil : le débit d’un Modem ou la vitesse de transfert d’un disque dur par exemple si elle est mesurée en bits, c’est huit fois moins que si elle mesurée en octets.
Kilo , méga et les autres
Comme on est en base 2, les milliers et millions ca n’existe pas ou du moins ca ne tombe pas juste. DIX en base 2 on peut le dire maintenant c’est (8+2) soit 2p3 + 2p0 soit 1010, CENT c’est 64 + 32 + 4 soit 1100100
MILLE c’est facile à écrire en base 10, c’est 10p3,ou 1000 mais en base 2 c’est plus compliqué MILLE c’est …oh et pis j’y arrive pas non plus ! Pour simplifire on va prendre un nombre simple en binaire qui se rapproche assez de 1000, bon allons y pour 2p10, ca fait 1024 c’est pas loin et ca s’écrit simplement 2p10 ou au pire 10000000000.
C’est pour ca que quand on parle de Kilo (mille en grec) en binaire c’ets pas tout a fait pareil que dans le langage courant. Un KILOgramme c’est mille grammes, un KILOmetre c’est 1000 metres, mais un KILObits …c’est 1024 bits !!! et par conséquent un KILOoctet (ou KO) c’est 1024 octets.
De même il n’y a pas de millions exacts, une MEGAtonne c’est un million de tonnes, mais un MEGAoctet (ou MO) c’est 1048576 = 1024×1024 octets ! Voyons les magnifiques unités informatiques dans le tableau suivant :
Unités Initiales Valeur approximative puissance de 2 Valeur exacte
octet O 8 bits 2p3 8
Kilo octets KO 1000 octets 2p10 1 024
Méga octets MO 1 million d’octets 2p20 1 048 576
Giga octets GO 1 milliard d’octets 2p30 1 073 741 824
Tera octets TO 1000 milliards d’octets 2p40 1 099 511 627 776
Peta octets PO 1 million de milliard d’octets 2p50 1 125 899 906 842 624
La légende du Sultan et de l’échiquier (revue et corrigée par DD)
C’est l’histoire d’un gars, il y a pas mal de siècles qu’a rendu un super service à un Sultan bourré d’oseille et qui comme d’habitude est autorisé à faire un voeu. Le gars dit au sultan : “Vot’ sérénité prenez un échiquier et sur la premiere case déposez deux gramme d’or (à l’époque l’or c’était déja queque chose) sur la deuxième 4 gr , sur la 3eme 8 gr et le double a chaque fois jusqu’a la dernière case de l’échiquier, ca m’suffira comme KDO”. Le sultan, rigole, le prend pour un demeuré et lui dit “c’est tout ce que tu veux ? tu es sur? et bien soit !” Et il part se coucher en se bidonnant, tout content d’avoir arnaqué le pov’ gars.
Maintenant qu’on est les rois du binaire, on voit bien que le gars il était vachement malin (surement un informaticien de la pire espèce) :
2g sur la 1re, 2×2g (soit 2p2) sur la 2eme, puis 2×2x2g (soit 2p3) sur la 3eme, etc. on voit vite que sur la 10eme case on aura 2p10 gr, et sur la 64eme et dernière case de l’échiquier 2p64 gr. Soit d’après les règles de calcul sur les puissances : 2p60 x 2p4 soit 2p10×2p10×2p10×2p10×2p10×2p10×2p4 gr soit en gros 1000×1000x1000×1000x1000×1000x16 soit 16000 milliards de tonnes d’or !!!
Tout ca pour dire que les puissances de 2 ca n’a l’air de rien, mais ca augmente très, très, très vite. On se rend compte qu’un ordinateur qui manipule des données de 32 bits, peut stocker un nombre incroyable d’information différentes.
8bits , 16 bits , 32 bits…et plus si affinité
En construction…