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 !



  
12 commentaires

Merci ! C'est bien expliqué. Par contre j'ai un peu de mal à tout comprendre, je vais le relire plusieurs fois je pense

le 15 mars 2009

A partir du hexadecimal ça devient bcp plus compliqué xD C pour ça que tu ne dois jamais sauter aucune ligne... Meme ou je dis de faire un comme exercice

Si il y a qq chose que tu comprends pas du tout dis le je t aiderai... MOI PRO xD

le 15 mars 2009

Moi une fois j'ai trifouiller dans le code hexadécimal de MSN Messenger (parce que c'était il y a un ou deux ans) et bah j'en ai bavé xD

le 15 mars 2009

Bien bien mais c'est vrai que le hexadécimal

le 15 mars 2009

J ai fait ce tuto parce qu'en fait je kiff trop les maths... Je dois etre le seul au monde

C super bien ces trucs :P

le 16 mars 2009

Super

le 24 novembre 2009

Je déteste de voir un sujet aussi important dans l'informatique qui est baclé, pas propre et j'en passe.

1. le point fort est à gauche ! et non à droite.

Ensuite il y'a des termes pour les méthodes de conversions ! Ah pas bien du tout !

binaire = 2

bidirectionnelle = 1 (je pense pas )

c'est le "bi" qui veux dire 2, l'appellation binaire n'est rien d'autre que le nom de cette base

le 12 février 2010

Attends attends là, explique moi; ca m'interesse!

Le "point fort"? Tu parles de quoi? Des puissances? On s'en fout, c'est une addition. Et comme tu l'as appris en CM2, dans les additions, le sens des termes, on s'en bat.

Des termes de "methodes de conversions", bien, oui, bravo, il y "codage", "decodage", et "transcodage". Et, meme si elles ne sont pas dites explicitement?

Heu, ensuite excuse moi d'etre bigleux mais je vois pas où il y a le terme "bidirectionnel" dans le l'article de ratu.

Moi je déteste voir un commentaire sur un sujet aussi important dans l'informatique qui est baclé.

le 13 février 2010

C'est un principe.

Alors comme absurdité, on peut pas mieux. Quand tu parles de conversion hexa -> binaire (ou autre), tu appelles ça, du codage, décodage Waaouuuu, même en 1ere année d'info j'apprends pas ça, peut etre en master, qui sait

Déjà qui ta fait allusion que je parlais de son "Cours" ... Je parlais de sa définition du mot binaire.

Moi je me contre fou de ce que tu penses. Un comm reste un comm

le 14 février 2010

Un principe de manuel scolaire pour personnes qui n'ouvrent pas les yeux. Quand tu verras la formule E=c².m tu diras "Oh NON C'EST BACLÉ, IL FAUT DIRE E=m.c²! ET PAS L'INVERSE SURTOUT SINON C'EST LA FIN DU MONDE!"?

J'appelle ça du transcodage. Ca marche aussi en codage/décodage. Non? Vas-y fais toi plaiz' et dis moi "Non" histoire que je rigole un peu. Hein? Tu peux pas le dire parce que tu sais que c'est vrai? Ben alors, de quoi tu te plains? ratu a fait un tutoriel pour apprendre aux debutants.

Oui, bon ok c'est pas très pro, je le conçois. C'est une raison de l'agresser comme ça sur son article? Au lieu d'avoir une réaction constructive et de lui montrer son erreur pour qu'il puisse la corriger?

Oui, mais je suis modo, et jusqu'à nouvel ordre je répondrai de la façon qu'il me plaira d'employer pour faire face à des commentaires gratuits, agressifs, désinvoltes, et juste provocateurs comme le tien.

le 14 février 2010

Outch ! L'administration toute puissante appelle à la paix avant que ça dégénère

Je m'y connais pas du tout en binaire ni rien mais je vous demande juste de vous expliquer tranquillement et sans être agressifs. C'est vrai qu'il peut y avoir des erreurs dans des articles mais il faut essayer de les corriger tranquillement

le 15 février 2010

Oui, je connais le code binaire, et je connais les additions, et c'est magiques parce qu'on remarque qu'importe le sens, le resultat est le meme.

C'est clair, non?

A priori il n'y a pas d'erreur, sauf le

binaire veut dire "deux"
, tout le reste est bon, et ne justifie en rien un
Je déteste de voir un sujet aussi important dans l'informatique qui est baclé, pas propre et j'en passe.
le 15 février 2010



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 10854 fois.