vue Les langages informatiques
Kommunauty
Connexion
Inscription

Les langages informatiques

le 14 mars 2009 • Programmation • par ratu

Voici un petit tutoriel qui explique le fonctionnement des codes de type binaire et hexadécimal, utilisé en informatique. On ne sait jamais ça peut être utile de savoir. Vous n'avez pas besoin d'avoir beaucoup de connaissances maremmatiques pour apprendre ça

Notes pour ceux qui connaissent pas les symboles mathématiques sur les ordinateurs :

  • Quand j'écris 10^3 ça signifie 10 puissance 3, ce qui veut dire 10 x 10 x 10
  • Quand j'écris ~45 ça veut dire à peu près, c'est un arrondissement, faits, dans les cas présents, toujours vers le bas


Décimal

Tout d'abord, le système décimal, connu de nous tous... C'est juste une petite révision.

Base: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9... 10 Chiffres... Donc base 10 !

Je vais diviser un nombre décimal par chiffres, une méthode que j'utiliserai plus tard :

Je choisis le nombre... 487

Petite parenthèse : Je n'utilise que des nombres décimaux ici, donc d'un coté et de l'autre, le résultat sera le même.

(Decimal = Decimal)

487 = 7x10^0 + 8x10^1 + 4x10^2

487 = 7x1 + 8x10 + 4x100

487 = 7 + 80 + 400

487 = 487

Voila, la technique que j'ai utilisée pour diviser ce nombre est en fait très simple :

Valeur du nombre x Base du systeme ^ Position du nombre

Donc 7 sera : Valeur 7 x 10 ^ Position 0 (Les positions commencent dans le 0 et pas dans le 1).

Si vous avez compris, vous avez ma permission pour continuer... Sinon, étudiez un peu plus les maths !


Binaire

Voici le système binaire, pour qui s'y connait en français, binaire veut dire "deux". Il se compose de zéros et uns, comme 10001101011010...

Base : 0 et 1 donc base 2 !

Je vais utiliser la technique ci-dessus pour convertir un nombre binaire en nombre decimal.

Je vais choisir 1100

A la fin, je vais donc obtenir un nombre binaire d'un coté et son correspondant en decimal de l'autre.

(Binaire = Decimal)

1100 = 0x2^0 + 0x2^1 + 1x2^2 + 1x2^3

1100 = 0x1 + 0x2 + 1x4 + 1x8

1100 = 0 + 0 + 4 + 8

1100 = 12

Donc 1100 en nombre binaire, c'est le meme que 12 en nombre decimal... Ouvrez la calculatrice Windows (Mettez affichage scientifique )... Verifiez ceci... Et maintenant choisissez un nombre binaire comme je l'ai fait et entrainez vous une ou deux fois, pour verifier si tout est en ordre.

Maintenant faire l'inverse, d'un nombre Decimal, passer à un binaire :

Je choisis le nombre 23, petit pour simplifier... J'utilise la division, par deux.

23/2 = 11,5... Mais j'arrondis toujours aux unités vers le bas, donc 11. Vous verrez pourquoi...

23/2 = 11

11/2 = 5

5/2 = 2

2/2 = 1

1/2 = 0

Maintenant, je vous explique :

Quand un chiffre decimal est arrondi, il va etre 1 en binaire, quand il ne l'est pas, il va etre 0. On les mets dans l'ordre inverse aux divisions qu'on a faites, on commence en bas :

Arrondi-----------1

Pas.Arrondi----0

Arrondi-----------1

Arrondi-----------1

Arrondi-----------1

Le nombre en binaire est donc 10111, qu'en dit la calculatrice ? C'est juste !

[p]Faites encore une ou deux fois un exercice avec des nombres au hasard, pour mieux maitriser ça.

[p]Maintenant vient le malin (Le Diable en langage soutenu xD)...


Hexadecimal

[p]Le systeme hexadecimal est beaucoup plus compliqué que le binaire. Voyons voir... vous devez maitriser ce tableau, il est facile :

( DECIMAL = HEXADECIMAL )

0 = 0

1 = 1

2 = 2

3 = 3

4 = 4

5 = 5

6 = 6

7 = 7

8 = 8

9 = 9 ( jusqu'à la, pas de probleme )

10 = A

11 = B

12 = C

13 = D

14 = E

15 = F

Et oui, ce sont les caracteres utilisés pour le hexa.

Base : 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F donc base 16

Ca peut vous paraitre bizarre de voir 174DA84 et quelqu'un vous dire que c'est un nombre. Mais c'est la verité.

Convertir de hexadecimal a decimal :

Je vais choisir le nombre hexa. 18B Petit = Simple.

(

Oubliez pas que B est en hexa, donc, selon le tableau B=11)

(Hexadecimal = Decimal)

18B = Bx16^0 + 8x16^1 + 1x16^2

18B = 11x1 + 8x16 + 1x256

18B = 11 + 128 + 256

18B = 395

Que dit la calculatrice ? C'est juste ! Entrainez-vous avec quelques nombres encore une fois ou deux.

Maintenant la conversion Decimale vers Hexadecimale... Celle-ci est, pour moi, la plus compliquée.

On utilise la division par 16...

Avec le nombre decimal 135 :

135/16 = 8,4375 = ~8

8x16 = 128

135-128 = 7 de différence

7 en décimal = 7 en hexadécimal (Ceci est un des chiffres de notre nombre hex.)

Après...

8/16 = 0,5 = ~0

0x16 = 0

8-0 = 8 de différence

8 en décimal = 8 en héxadécimal (Le dernier chiffre du nombre hex.)

Le nombre hex. correspondant à 135 est 87 :

(Decimal = Hexadecimal)

135 = 87

Cet exemple est assez facile puisque les lettres ne sont pas présentes, donc, je refais un autre, plus grand.

Le nombre decimal 651 :

651/16 = 40,6875 = ~40

40x16 = 640

651-640 = 11 de différence

11 en décimal = B en hexadécimal

_____________________________

40/16 = 2,5 = ~2

2x16 = 32

40-32 = 8 de différence

8 en décimal = 8 en hexadécimal

_____________________________

2/16 = 0,125 = ~0

0x16 = 0

2-0 = 2 de différence

2 en décimal = 2 en hexadécimal

_____________________________

Réponse: 2 8 B=> 28B

La calculatrice le confirme !


Ca y est... maintenant vous êtes un pro !



  
Aucun commentaire

Sois le premier à débuter une discussion à propos de cet article !



Ajoute un commentaire !

Ajouter une image... Trouvée sur internet » De mon PC »
Adresse URL :
Adresse de la page de la vidéo :
Taille du texte :
Couleur du texte :

Article lu 13714 fois.