Salut tout le monde, içi je vais faire un tutoriel pour apprendre la numération.
Le Numérations c'est quoi ?
En faite ce n'est pas la numération général que je vais vous apprendre mais la numération de programmation (les langages machines), ou pour ceux a qui sa ne parle pas:
- Le simple et utilisé par tous le DECIMAL.
- Le trés connu BINAIRE.
- Le plus compliqué (Oupas :osef:) HEXADICIMAL.
En quoi va consister le Tutoriel et le Sommaire.
Ici je vais tout simplement vous apprendre ( ou vous faire un tutoriel que vous comprendrez pas) sur les bases de c'est 3 Systèmes. Je dis bien la base, car ici c'est un tutoriel pour les debutants il n'y aura aucune complication j'essayerais de faire de la manière la plus simple possible ;)
Ce tutoriel vous aideras aussi a convertir dans tous les sens (Binaire -> Décimal, Décimal -> Hexa, Hexa -> Binaire etc...)
1) Le Système Décimal.
Je ne vais pas m'attarder sur celui la, car c'est au CP qu'on l'apprend =D
Bon pour resumer: Le systeme decimal est le systeme de numération usuel pour compter.
Il comprend 10 chiffres ou symboles qui sont: 0,1,....,9
Ce système est aussi appelé système de base 10.
Exemple:
Il est possible de decomposer ce nombre.
2789 = (2 x 10^3)+(7 x 10^2)+(8 x 10^1)+(9 x 10^0)
Bon pour ceux qui n'ont pas compris le signe "^" correspond a "puissance" en maths.
Pour les nombres a virgule c'est pareil:
156,29 = (1 x 10^2)+(5 x 10^1)+(6 x 10^0)+(2 x 10^-1)+(9 x 10^-2)
Voila c'est fini pas d'exercice sa servirais a rien...
Bon passons a autre choses =P
2) Le Système Binaire.
Pas bien compliqué non-plus mais sa change sur decimal...
Le binaire qu'est ce que c'est:
Dans le système binaire il n'y a que 2 symbole, chiffres ou bit (binary digit) qui sont: 0 et 1 (oui oui tout simplement).
Cette base apparait comme pratique pour distinguer les 2 états logiques fondamentaux des système électroniques.
Bon pour pas faire compliqué, parce que je vous l'ai promis, le bit le plus a gauche est appelé MSB (Most Significant Bit).
Et le bit le plus a droite est aussi appelé LSB (pas LSD ><') (Least Significant Bit)
Et je pense que vous savez surement que 8 bits vaut 1 octet.
Attention il est trés important de ne pas confondre Un Bit et Un Byte, c'est trés important car un byte c'est le mot anglais pour dire octet (c'est pour sa que 250kb/s et très diffèrent de 250kB/s)
Bon maitenant si j'ecris:
1001, vous allez me dire "Heu ba mille-un", vous avez pas tort et même raison :)
Et oui pour différencier un nombre decimal et une suite de bit il faut rajouter devant les bit un %
Donc:
1001 est trés different de %1001.
Car 1001 vaut %11,1110,1001 (Je crois, j'ai fais sa vite mais il me semble que se soit bon), vous comprendrez aprés pourquoi j'ai mis des virgules.
Et %1001 vaut 9 :) (encore un fois mes calcule sont a verifier je fais sa vite ;))
Déstructurons mon plan pour vous expliquez comment j'ai procédé.
Le conversion décimal - Binaire:
Avant toutes choses il faut que vous sachiez les puissances de 2... Je vais vous les indiquer mais elles sont trés simple a retenir.
C'est important car le Binaire fonctionne en puissance de 2. Comment l'expliquer proprement, je ne sais pas mais vous comprendrez :)
Bon ba c'est parti:
2^0 = 1
2^1 = 2
2^2 = 4
2^3 = 8
2^4 = 16
2^5 = 32
2^6 = 64
2^7 = 128
2^8 = 256
etc... =512
= 1024
= 2048
Bon aller sa suffirat vous inquietez pas :)
Vous avez sans doute remarqué que nombreux de vos composants informatique fonctionne sous puissance de 2, exemple la RAM 1024mo/2048mo/4096mo ou plus pour les chanceux et moin pour les malchanceux ...
Une fois que vous savez sa, tout ira tout seul.
Comment convertir le decimal en binaire:
Je vais commencé par un exemple car c'est plus explicite que du discours.
Bon prennons 45 c'est un bon nombre :arf:
Tout d'abord il faut décomposer en puissance de 2 (le revoila lui :pleurer:)
45 = 32+8+4+1
Et voila il suffit de convertir en puissance de 2. Sans oublier les puissances qui n'apparaisse pas.
32 + 8 + 4 + 1 = (1 x 2^5)+(0 x 2^4)+(1 x 2^3)+(1 x 2^2)+(0 x 2^1)+(1 x 2^0) = 1.2^5 + 0.2^4 + 1.2^3 + 1.2^2 + 0.2^1 + 1.2^0 = %101101
Pour ceux qui n'ont pas compris les "." signifie multiplié (encore un therme mathématiques :))
Il y a une autre technique qui consiste a diviser par 2 jusqu'à ce que le quotient soit égal a 0.
Cette methode convient mieux au grand nombre :
Prenons 89
89/2 = 44 reste 1
44/2 = 22 reste 0
22/2 = 11 reste 0
11/2 = 5 reste 1
5/2 = 2 reste 1
2/2 = 1 reste 0
1/2 = 0 reste 1
Le quotient vaut 0 donc c'est fini !
Maintenant il suffit de lire du bas en haut: 89 = %1011001
Exercice:
Conversion de 23 et de 59:
A vous de jouer !
Conversion Binaire - Décimal:
Encore une fois un exemple est plus explicite qu'un texte:
Les puissances de 2 sont encore a l'appuie :):
%11100110 = 1.2^7 + 1.2^6 + 1.2^5 + 0.2^4 + 0.2^3 + 1.2^2 + 1.2^1 + 0.2^0 = 230
Comment expliqué ceci je sais pas non-plus mais c'est comme sa qu'on fait, a vrai dire il n'y a pas tellement d'explication.
Mais c'est a peut prés pareil qu'avant.
Bon ba des exercices:
Convertir %110011 et %10011100 en decimal !
a vous de jouer !
Bon ba voila la partie Binaire est terminé !
J'espere vous avoir eclairé !
Par contre sa serais gentil de ne pas copie ce tutoriel sur le binaire ou bien de mettre les sources ;)
Aprés 2mois de retard voici la fin de mon tuto =D
Pourquoi 2 mois ? J'avais zappé que j'avais fait cela ...
3) Le système hexadécimal.
L'Hexadecimal qu'est ce que c'est ? A quoi sert il ?
En quelques mots:
Ce systeme est composé de 16 symboles qui sont 0,1,2,3,....,9,A,B,C,D,E,F (et non de 0 a 16)
Ce systeme c'est developpé car il est souvent utilisé dans les systemes microprogrammés.
Il sert a d'autre chose que vous decouvrirez au court de votre aventure dans l'informatique ...
Le systeme hexadecimal est aussi nommé base 16 (du fait qu'il soit composé de 16 symboles)
Maintenant comment savoir si 777 est en decimal ou en hexa ?
777 est en decimal, car pour l'hexadecimal on notera $777
Ce qu'il faut savoir en hexa c'est sa table de puissance, comme pour le binaire.
La difference c'est qu'au lieu de mettre 2^x on mettra 16^x.
Table des puissances:
16^0 = 1
16^1 = 16
16^2 = 256
16^3 = 4096
16^4 = 65536
On ira pas plus loin ici parce que sa pars loin.
Passons aux conversions:
Conversion Hexadecimal-Decimal:
Pour commencer je rappel que:
F = 15
E = 14
D = 13
C = 12
B = 11
A = 10
9 = 9
etc...
Bon rien ne vaut un petit exemple.
La conversion de $BAC en décimal.
$B A C = 11.16^2 + 10.16^1 + 12.16^0
$B A C = 2816 + 160 + 12
$B A C = 2988
Comment procédé ?
On transforme le symbole en la valeur décimale puis on met en oeuvre la table des puissances au dessus en mettant toujours le plus gauche la puissance la plus faible puis on augmente a chaque symbole...
Conversion Décimale-Hexadecimale:
Trés simple encore une fois, il suffit de diviser la valeur decimale par 16 puis transformer le reste en le symbole voulu.
Exemple: 214 = $ ?
214/16 = 13 + reste 6
13/16 = 0 + reste 13
Donc 6 = 6 et 13 = D
214 = $D6
Comme avant on s'arrete quand on ne peut plus diviser...
Conversion Hexadecimal-Binaire.
Procédé un peu plus complexe mais au final trés simple.
Prenons un exemple un peu plus difficile que $BAC prenons $8C0F
La méthode est la suivante: Decomposer 8C0F de cette facon:
8 | C | 0 | F |
Chaque symbole ci dessus correspond a une valeur decimal n'est ce pas (voir un peu plus au dessus). Sachant que ne l'oublier pas F = 15. Ensuite chaque symbole sera un groupe de 4 bits (voir Systeme binaire au dessus).
4bits de facon avoir la valeur de chaque symbole....
Exemple: $8C0F
8 | C | 0 | F |
1000 |1100|0000|1111|
Voila votre conversion est fini !
Donc $8C0F = %1000.1100.0000.1111
Voila au final c'est pas ci dur ;)
Conversion Binaire-Hexadecimal.
La methode est identique a celle juste au dessus mais dans un sens inverse !
Par exemple: %1010100100101110 en $
Sachant que %1010.1001.0010.1110
Decomposons:
1010|1001|0010|1110
Bon meme si vous devriez le savoir:
%1010 = 10 = $A
%1001 = 9 = $9
%0010 = 2 = $2
%1110 = 14 = $E
Donc
1010|1001|0010|1110
A|9|2|E
%1010.1001.0010.1110 = $A92E
Attention: Toujours commencer a decomposer le binaire en pack de 4bits de gauche a droite car par exemple si on a %1101100011 il faut decomposer :%0011.0110.0011 et non comme ceci %1101.1000.1100. Vous vous rendez bien compte que c'est trés different !
4) Un peu de pratique, des exercices quoi.
Voici quelques exercices:
1°) Convertir en binaire puis en hexadecimal:
152 / 256 / 110001.
2°) Dire a quel systeme peuvent appartenir ces symboles:
1001 / 11 / 596 / 11000012111000 / 59A / %1101
3°) Convertir en Decimal.
%1100.1110 / $AE / %1110.0001.1101 / %12 / $11 / 1001 / $B0FA
Voila j'espere vous avoir aidé a comprendre les systemes machines, Je suis desolé de vous avoir fait attendre 2 mois pour la partie hexa j'avais vraiment oublié cela =D
Je compte sur vous pour ne pas copier coller ou bien de citer les sources.
Il y a surment des fautes d'orthographe, desolé ;)
Le Numérations c'est quoi ?
En faite ce n'est pas la numération général que je vais vous apprendre mais la numération de programmation (les langages machines), ou pour ceux a qui sa ne parle pas:
- Le simple et utilisé par tous le DECIMAL.
- Le trés connu BINAIRE.
- Le plus compliqué (Oupas :osef:) HEXADICIMAL.
En quoi va consister le Tutoriel et le Sommaire.
Ici je vais tout simplement vous apprendre ( ou vous faire un tutoriel que vous comprendrez pas) sur les bases de c'est 3 Systèmes. Je dis bien la base, car ici c'est un tutoriel pour les debutants il n'y aura aucune complication j'essayerais de faire de la manière la plus simple possible ;)
Ce tutoriel vous aideras aussi a convertir dans tous les sens (Binaire -> Décimal, Décimal -> Hexa, Hexa -> Binaire etc...)
1) Le Système Décimal.
Je ne vais pas m'attarder sur celui la, car c'est au CP qu'on l'apprend =D
Bon pour resumer: Le systeme decimal est le systeme de numération usuel pour compter.
Il comprend 10 chiffres ou symboles qui sont: 0,1,....,9
Ce système est aussi appelé système de base 10.
Exemple:
Il est possible de decomposer ce nombre.
2789 = (2 x 10^3)+(7 x 10^2)+(8 x 10^1)+(9 x 10^0)
Bon pour ceux qui n'ont pas compris le signe "^" correspond a "puissance" en maths.
Pour les nombres a virgule c'est pareil:
156,29 = (1 x 10^2)+(5 x 10^1)+(6 x 10^0)+(2 x 10^-1)+(9 x 10^-2)
Voila c'est fini pas d'exercice sa servirais a rien...
Bon passons a autre choses =P
2) Le Système Binaire.
Pas bien compliqué non-plus mais sa change sur decimal...
Le binaire qu'est ce que c'est:
Dans le système binaire il n'y a que 2 symbole, chiffres ou bit (binary digit) qui sont: 0 et 1 (oui oui tout simplement).
Cette base apparait comme pratique pour distinguer les 2 états logiques fondamentaux des système électroniques.
Bon pour pas faire compliqué, parce que je vous l'ai promis, le bit le plus a gauche est appelé MSB (Most Significant Bit).
Et le bit le plus a droite est aussi appelé LSB (pas LSD ><') (Least Significant Bit)
Et je pense que vous savez surement que 8 bits vaut 1 octet.
Attention il est trés important de ne pas confondre Un Bit et Un Byte, c'est trés important car un byte c'est le mot anglais pour dire octet (c'est pour sa que 250kb/s et très diffèrent de 250kB/s)
Bon maitenant si j'ecris:
1001, vous allez me dire "Heu ba mille-un", vous avez pas tort et même raison :)
Et oui pour différencier un nombre decimal et une suite de bit il faut rajouter devant les bit un %
Donc:
1001 est trés different de %1001.
Car 1001 vaut %11,1110,1001 (Je crois, j'ai fais sa vite mais il me semble que se soit bon), vous comprendrez aprés pourquoi j'ai mis des virgules.
Et %1001 vaut 9 :) (encore un fois mes calcule sont a verifier je fais sa vite ;))
Déstructurons mon plan pour vous expliquez comment j'ai procédé.
Le conversion décimal - Binaire:
Avant toutes choses il faut que vous sachiez les puissances de 2... Je vais vous les indiquer mais elles sont trés simple a retenir.
C'est important car le Binaire fonctionne en puissance de 2. Comment l'expliquer proprement, je ne sais pas mais vous comprendrez :)
Bon ba c'est parti:
2^0 = 1
2^1 = 2
2^2 = 4
2^3 = 8
2^4 = 16
2^5 = 32
2^6 = 64
2^7 = 128
2^8 = 256
etc... =512
= 1024
= 2048
Bon aller sa suffirat vous inquietez pas :)
Vous avez sans doute remarqué que nombreux de vos composants informatique fonctionne sous puissance de 2, exemple la RAM 1024mo/2048mo/4096mo ou plus pour les chanceux et moin pour les malchanceux ...
Une fois que vous savez sa, tout ira tout seul.
Comment convertir le decimal en binaire:
Je vais commencé par un exemple car c'est plus explicite que du discours.
Bon prennons 45 c'est un bon nombre :arf:
Tout d'abord il faut décomposer en puissance de 2 (le revoila lui :pleurer:)
45 = 32+8+4+1
Et voila il suffit de convertir en puissance de 2. Sans oublier les puissances qui n'apparaisse pas.
32 + 8 + 4 + 1 = (1 x 2^5)+(0 x 2^4)+(1 x 2^3)+(1 x 2^2)+(0 x 2^1)+(1 x 2^0) = 1.2^5 + 0.2^4 + 1.2^3 + 1.2^2 + 0.2^1 + 1.2^0 = %101101
Pour ceux qui n'ont pas compris les "." signifie multiplié (encore un therme mathématiques :))
Il y a une autre technique qui consiste a diviser par 2 jusqu'à ce que le quotient soit égal a 0.
Cette methode convient mieux au grand nombre :
Prenons 89
89/2 = 44 reste 1
44/2 = 22 reste 0
22/2 = 11 reste 0
11/2 = 5 reste 1
5/2 = 2 reste 1
2/2 = 1 reste 0
1/2 = 0 reste 1
Le quotient vaut 0 donc c'est fini !
Maintenant il suffit de lire du bas en haut: 89 = %1011001
Exercice:
Conversion de 23 et de 59:
A vous de jouer !
23 = %10111
59 = %111011
59 = %111011
Conversion Binaire - Décimal:
Encore une fois un exemple est plus explicite qu'un texte:
Les puissances de 2 sont encore a l'appuie :):
%11100110 = 1.2^7 + 1.2^6 + 1.2^5 + 0.2^4 + 0.2^3 + 1.2^2 + 1.2^1 + 0.2^0 = 230
Comment expliqué ceci je sais pas non-plus mais c'est comme sa qu'on fait, a vrai dire il n'y a pas tellement d'explication.
Mais c'est a peut prés pareil qu'avant.
Bon ba des exercices:
Convertir %110011 et %10011100 en decimal !
a vous de jouer !
%110011 = 51
%10011100 = 156
%10011100 = 156
Bon ba voila la partie Binaire est terminé !
J'espere vous avoir eclairé !
Par contre sa serais gentil de ne pas copie ce tutoriel sur le binaire ou bien de mettre les sources ;)
Aprés 2mois de retard voici la fin de mon tuto =D
Pourquoi 2 mois ? J'avais zappé que j'avais fait cela ...
3) Le système hexadécimal.
L'Hexadecimal qu'est ce que c'est ? A quoi sert il ?
En quelques mots:
Ce systeme est composé de 16 symboles qui sont 0,1,2,3,....,9,A,B,C,D,E,F (et non de 0 a 16)
Ce systeme c'est developpé car il est souvent utilisé dans les systemes microprogrammés.
Il sert a d'autre chose que vous decouvrirez au court de votre aventure dans l'informatique ...
Le systeme hexadecimal est aussi nommé base 16 (du fait qu'il soit composé de 16 symboles)
Maintenant comment savoir si 777 est en decimal ou en hexa ?
777 est en decimal, car pour l'hexadecimal on notera $777
Ce qu'il faut savoir en hexa c'est sa table de puissance, comme pour le binaire.
La difference c'est qu'au lieu de mettre 2^x on mettra 16^x.
Table des puissances:
16^0 = 1
16^1 = 16
16^2 = 256
16^3 = 4096
16^4 = 65536
On ira pas plus loin ici parce que sa pars loin.
Passons aux conversions:
Conversion Hexadecimal-Decimal:
Pour commencer je rappel que:
F = 15
E = 14
D = 13
C = 12
B = 11
A = 10
9 = 9
etc...
Bon rien ne vaut un petit exemple.
La conversion de $BAC en décimal.
$B A C = 11.16^2 + 10.16^1 + 12.16^0
$B A C = 2816 + 160 + 12
$B A C = 2988
Comment procédé ?
On transforme le symbole en la valeur décimale puis on met en oeuvre la table des puissances au dessus en mettant toujours le plus gauche la puissance la plus faible puis on augmente a chaque symbole...
Conversion Décimale-Hexadecimale:
Trés simple encore une fois, il suffit de diviser la valeur decimale par 16 puis transformer le reste en le symbole voulu.
Exemple: 214 = $ ?
214/16 = 13 + reste 6
13/16 = 0 + reste 13
Donc 6 = 6 et 13 = D
214 = $D6
Comme avant on s'arrete quand on ne peut plus diviser...
Conversion Hexadecimal-Binaire.
Procédé un peu plus complexe mais au final trés simple.
Prenons un exemple un peu plus difficile que $BAC prenons $8C0F
La méthode est la suivante: Decomposer 8C0F de cette facon:
8 | C | 0 | F |
Chaque symbole ci dessus correspond a une valeur decimal n'est ce pas (voir un peu plus au dessus). Sachant que ne l'oublier pas F = 15. Ensuite chaque symbole sera un groupe de 4 bits (voir Systeme binaire au dessus).
4bits de facon avoir la valeur de chaque symbole....
Exemple: $8C0F
8 | C | 0 | F |
1000 |1100|0000|1111|
Voila votre conversion est fini !
Donc $8C0F = %1000.1100.0000.1111
Voila au final c'est pas ci dur ;)
Conversion Binaire-Hexadecimal.
La methode est identique a celle juste au dessus mais dans un sens inverse !
Par exemple: %1010100100101110 en $
Sachant que %1010.1001.0010.1110
Decomposons:
1010|1001|0010|1110
Bon meme si vous devriez le savoir:
%1010 = 10 = $A
%1001 = 9 = $9
%0010 = 2 = $2
%1110 = 14 = $E
Donc
1010|1001|0010|1110
A|9|2|E
%1010.1001.0010.1110 = $A92E
Attention: Toujours commencer a decomposer le binaire en pack de 4bits de gauche a droite car par exemple si on a %1101100011 il faut decomposer :%0011.0110.0011 et non comme ceci %1101.1000.1100. Vous vous rendez bien compte que c'est trés different !
4) Un peu de pratique, des exercices quoi.
Voici quelques exercices:
1°) Convertir en binaire puis en hexadecimal:
152 / 256 / 110001.
152 = %1001.1000 = $98
256 = %1.0000.0000 = $100
110001 = %0001.1010.1101.1011.0001 = $1ADB1
256 = %1.0000.0000 = $100
110001 = %0001.1010.1101.1011.0001 = $1ADB1
2°) Dire a quel systeme peuvent appartenir ces symboles:
1001 / 11 / 596 / 11000012111000 / 59A / %1101
J'utiliserais les bases pour definir les systemes...
2 = Binaire, 10 = Decimal, 16 = Hexa
1001 = 2/10/16
11 = 2/10/16
596 = 10/16
11000012111000 = 10/16
59A = 16
%1101 = 2
2 = Binaire, 10 = Decimal, 16 = Hexa
1001 = 2/10/16
11 = 2/10/16
596 = 10/16
11000012111000 = 10/16
59A = 16
%1101 = 2
3°) Convertir en Decimal.
%1100.1110 / $AE / %1110.0001.1101 / %12 / $11 / 1001 / $B0FA
%1100.1110 = 2 359 880
$AE = 174
%1110.0001.1101 = 3613
%12 = Petit piege il n'y a pas de 2 en binaire comme peux l'indiquer le symbole "%"
$11 = 17 (ici on est bien en hexa ;))
1001 = 1001, un petit piege en plus ici il n'y a rien pour anoncer que nous somme en binaire ou en hexa).
$B0FA = 45306
$AE = 174
%1110.0001.1101 = 3613
%12 = Petit piege il n'y a pas de 2 en binaire comme peux l'indiquer le symbole "%"
$11 = 17 (ici on est bien en hexa ;))
1001 = 1001, un petit piege en plus ici il n'y a rien pour anoncer que nous somme en binaire ou en hexa).
$B0FA = 45306
Voila j'espere vous avoir aidé a comprendre les systemes machines, Je suis desolé de vous avoir fait attendre 2 mois pour la partie hexa j'avais vraiment oublié cela =D
Je compte sur vous pour ne pas copier coller ou bien de citer les sources.
Il y a surment des fautes d'orthographe, desolé ;)
Last edited: