Cours C++ : 3. Les sytèmes binaire, hexadeciamel et de base

Moderator: Mod

Cours C++ : 3. Les sytèmes binaire, hexadeciamel et de base

Postby Manu404 » Fri Feb 29, 2008 1:41 pm

Ce qui vas suivre a pour bute de vous faire rendre compte de procédé utilisé naturellement mais qui sont devenu tellement naturel que on ne les comprends plus, on les réalise.

[size=16:96e1744661]
LES BASES[/size:96e1744661]

Cela fait longtemps que vous avez appris les base des mathématique, lorsque que vous voyez 120, vous pensez a "cent-vingt" lorsque vous voyez 99 vous pensez a 'nonante-neuf" sans même réfléchir.
Le système que nous allons étudier recquière que vous compreniez non pas 120 comme un nombre mais comme un code pour une valeur.
Par exemple Le chiffre trois "3", il est un gribouillis sur une feuille de papier mais aussi une idée utilisé pour représenter une valeur donc 3, III, *** peuvent tous être utilisé pour représenter cette valeurs.
Dans notre système de calcul on travail en base 10, c'est a dire que on utilise 0,1,2,3,4,5,6,7,8,9 pour représenter nos valeurs.
On est aussi d'accord que le calcul se déroule en colonne (le fameux Abac) donc une fois que on a fini l' énumération des nombre jusque 9 on réinitialise la colone en cours et on rajoute une unité dans la colone devant.
ex : 9+2= 10
On recommence a zéro dans les unité et on rajoute un au dizaine.

Donc 3 règles en découlent :
-> La base 10 utilise les nombres de 0 a 9
-> En base les colonnes sont des puissances de 10
-> Si la 3éme colonne est 100, le plus grand nombre que l'on peux obtenir avec 2 colonnes et 99. Si on mets en mathématique la phrase précédente et que (*) est égale a n colonne on obtient x*-1.

[size=14:96e1744661]LES AUTRES BASES[/size:96e1744661]
Prenons l'exemple de la base 7
Pour traduire 16 en base 7 donne 22, pourquoi ?

Décomposons le nombre 16 en groupe de 7 unité

i i i i i i i 7
i i i i i i i +7
i i +2

22 =16

En base 7 nous sommes d'accord pour dire que un fois le 7 atteint on réinitialise la colonne et on rajoute un dans la colone précédent.
Dans ce cas le décompte jusque 7 se réalise 2 fois complètement et une fois partièlement (jusque 2)
Donc on a 2 dizaines et 2 unités

Voyons un autre exemple mais en base 4 cette fois ci.
26 en base 4 donne 62 car :

i i i i 4
i i i i +4
i i i i +4
i i i i +4
i i i i +4
i i i i +4
i i +2

62 =26

On a donc atteint 6fois la valeurs maximum de la base 4 donc on doit rajouter 6 dizaines + le reste qui est de 2 unités, 6dizaines + 2unité donne 62.

!!!! Le concepte de base est un concepte avec lequel vous devez jongler parfaitement !!!!

Je vais maintenant vous montrer comment gagner du temps pour les changement de base :
pour chaque colonne (unité, dizaine, centaine etc) nous allons atribué une valeurs de la base voulue mise a l'exposant du chiffre de la colonne.
Exemple en base 7 (exp signifie exposant)

Collone4 Colonnes3 Colonnes2 Colonne1
Milliers Centaine Dizaines Unité
7exp3 7exp2 7exp1 7exp0
=343 =49 =7 =1

Essayons maintenant a partir du tableaux ci-dessus de convertir 120.
Nous commençons par la colonnes la plus élevés :
1.C4 : on ne sait pas mettre une fois 343 dans 120, la colonnes des milliers reste don vide
2 C3 : on sait mettre 2 fois 49 dans 120, on rajoute 2 aux centaines, il reste 22
3.C2 : on sait mettre 3 fois 7 dans 22, on rajoute 3 aux dizaines et il reste 1
4.C1 : on sait mettre 1 fois 1 dans 1, on rajoute donc 1 aux unité, il reste 0.

On obtient donc 0milliers, 2centaines, 3 dizaines et 1 unité donc 120 en base 7 vaut 231.

[size=16:96e1744661]
LES SYSTEMES[/size:96e1744661]

[size=14:96e1744661]
LE SYSTEME BINAIRE[/size:96e1744661]
Dons le système binaire on utilise que 2 chiffres, 0 et 1.
Pourquoi 0 et 1 ?
Parce que en elèctronique (et donc par la suite en informatique) cela représente le fait que l'éléctricité passe, ou alors ne passe pas, c'est un peux comme si on ouvrait les robinets quand la valeur est 0 et on les fermaient quand les valeur est 1.
0 et 1 veux aussi dire, oui ou non, vrai ou faux et a donc malgré la simplicité apparente un grande puissance.

[size=14:96e1744661]
BITS OCTETS ET "NYBBLES"[/size:96e1744661]
Les premiers ordinateur étaient des ordinateurs de 8bits, c'est a dire qu'il envoyait chaque seconde une série de 8 chiffre 0 et 1, ce qui permettait d'avoir 256 valeurs ou états différents.
L'octect est une unité très très proche du bits, en effet 1024bits*1024bits donnent 1.048.576 cette valeurs est donc très proche du millions, on a donc décidé d'utiliser l'octet pour représenter cette valeurs, ainsi 1.048.576 est égale a 1Mo, de même 1024Mo est appelé 1Go etc etc
Le Nybbles est équivalent a un demi octets (4bits)

[size=14:96e1744661]
LE SYSTEME HEXADECIMAL[/size:96e1744661]
Ce système a été utilisé afin de simplifier la lecture du code binaire.
En base 16 (HEXA-decimale, 16 après la virgule) on utilise les nombre de 0 a 9 ainsi que les lettre de A a F
Le mode de traduction est exactement le même que celui du dessus, sauf si il fous reste par exemple 11unitée vous écrirez par exemple 21b (2 centaines, une dizaine, et 11 unité)

Bon je vous laisse méditer ceci !
A bon entendeur..
Salut

[/b]
User avatar
Manu404
 
Posts: 2219
Joined: Tue Feb 26, 2008 3:44 pm
Location: ::1:

Postby Manu404 » Tue Nov 02, 2010 3:34 am

Vous pouvez aussi poser vos questions sur devbbs. ^^

[url]http://dev.hackbbs.org/viewtopic.php?f=17&t=5[/url]
User avatar
Manu404
 
Posts: 2219
Joined: Tue Feb 26, 2008 3:44 pm
Location: ::1:


Return to C/C++

Who is online

Users browsing this forum: No registered users and 1 guest

cron