mardi 5 avril 2011

Cours Les Systèmes de numération TD Systèmes de numération exercices corrigés systèmes de numération

Les Systèmes de numération

1)  Introduction

L‘homme a besoin d‘un système de codage pour identifier, quantifier, qualifier les objets, les lieux, les  Évènements… Ces codes lui permettent de mémoriser, traiter et communiquer les informations. Ils peuvent être :
  • le langage
  • l‘écriture
  • le graphisme
  • la gestuelle
Chaque code respecte des règles. Par exemple, à l‘écriture correspond :
  • Une liste de symboles prédéfinis : l'alphabet
  • Des règles d‘utilisation des symboles : 
            * Plusieurs symboles (lettres) => mot
           * Plusieurs mots => phrase
  • des règles de syntaxe pour ordonner les mots dans une phrase
=> Pour l‘ordinateur c‘est la même chose, mais son alphabet n‘a que 2 symboles :  0 et 1

Pourquoi ?

- Raison technologique : il est simple de représenter en électronique un phénomène à 2 états.

Le courant passe => 1
Le courant ne passe pas => 0

Même si avez l‘impression du contraire en utilisant  certains logiciels ⁄ l‘ordinateur ne comprend que les 0 et les 1. Cette logique est appelée le langage binaire.

2)  Le langage binaire

  • Le binaire possède un alphabet simplifié à deux symboles : 0 et 1
  • Sa base de numération est donc 2 (2 symboles).
  • Normalisation d‘écriture : n2 (par exemple 1012)

Un nombre en base 10,  tel  que nous l‘employons d‘habitude,  devrai  être noté sous la forme n10,  par exemple :  (135)10
Un peu de vocabulaire : 

-     Chaque élément binaire pouvant prendre la valeur 0 ou 1 est appelé un digit binaire (Binary digit)
-     Une suite de 4 bits est appelée quartet
-     Une suite de 8 bits est appelée octet.

Depuis 12/98, l‘organisme international  IEC (International Electrotechnical  Commission), a définit les mesures suivantes :

1Ko = 1000 octets (210 bits)
1M o = 1000 Ko = 1000 x 1000 octets
1Go = 1000 M o = 1000 x 1000 x 1000 octets
1To = 1000 Go = 1000 x 1000 x 1000 x 1000 octets

Mais  de  nombreux  logiciels,  parfois  même  certains  systèmes  d‘exploitation,  utilisent  toujours  la  notation Antérieure à 1998 pour laquelle 1Ko = 1024 octets (210 bits)

Attention en anglais, octet se traduit par  byte. Il faut donc absolument éviter la confusion entre bit et byte.


Donc 1 Ko   =   1KB  (Notez l'utilisation d'un B majuscule pour différencier Byte et bit)

3)  Conversions binaires


3.1 Décimal => binaire par division successive :

On divise le nombre en base 10 par 2, puis on divise successivement le quotient de chaque division par 2 jusqu'à ne plus pouvoir diviser par 2.  Le nombre binaire s‘obtient en relevant le reste de chaque division en partant de la dernière division vers la première (sens de lecture vers le haut).

Ex : (230)10  à convertir en base 2

Le résultat est donc : (230)10 => (11100110)2

3.2  Décimal => binaire par soustraction

Cette méthode consiste à retrancher du nombre la plus grande puissance de 2 possibles, et ainsi de suite Dans l‘ordre décroissant des puissances. Si on peut retirer la puissance de 2 concernée, on note (1) sinon on note (0) et on contenue de la même manière jusqu'à la plus petite puissance de 2 possible (20 pour les entiers).

Ex : (230)10  à convertir en base 2



Le résultat est donc : (230)10 => (11100110)2

Cette technique implique de connaîre les valeurs décimales associées aux puissances de 2 :


3.3  Conversion binaire => décimal

On multiplie chaque bit par le chiffre 2 élevé à une puissance, croissant par pas de 1, comptée à partir de Zéro en partant de la droit  puis on effectue la somme des résultats obtenus.

Soit (110011)2 à convertir en décimal :


3.4  Notion de Poids binaire

Le poids binaire ou « poids du bit » est la puissance à laquelle est élevé le bit lors de la conversion binaire => décimal.

Ainsi, les bits situés à droite du nombre sont les bits de poids faible (leur puissance évolue à partir de zéro). Les bits situés à gauche sont les bits de poids fort (leur puissance est la plus élevée et va en décroissant).

Sur un octet, le bit situé à gauche est le bit de poids fort (27) le plus significatif ou MSB (Most Significant Bit)
alors que le bit le plus à droite (20) est le bit de poids faible ou LSB (Least Significant Bit).

3.5   Exercices de conversion   

  • 12710 = 111 11112
  • 10 01102 = 3810
  • 25510 = 1111 11112
  • 25610 = 1 0000 00002
  • 0010 10102 = 4210
  • 1000 00002= 12810
  • 3410 = 10 00102
  • 1100 01202 = Impossible en base 2
  • Quel est le plus petit nombre que peut contenir un octet ?
  • Quel est le plus grand nombre que peut contenir un octet (en décimal et en binaire) ?
3.6  Les opérations binaires

De  la  même  façon  qu'en  base  10,  il  est  possible  d'effectuer des  opérations (addition,  soustraction, multiplication et division) directement en binaire suivant les mêmes principes.


3.7  Les nombres fractionnaires

- La partie entière d‘un nombre se traduit en mettant en œuvre des puissances positives de 2.
- Sa parte décimale se traduit en mettant en Œuvre des puissances négatives de 2.

Le  nombre  binaire  obtenu  se  présente  sous la  forme  d‘une  parte  entière  située  à  gauche  du  point "décimal" (ou de la virgule), et d‘une parte fractionnaire située à droite.


Ex. 100.012  est équivalent à 4.2510

3.7.1  La conversion Décimal => Binaire

Il suffit de multiplier par 2, la parte entière ainsi obtenue représentant le poids binaire (1 ou 0). La partie fractionnaire restante est à nouveau multipliée par 2 et ainsi de suite jusqu'à ce qu‘il n'y ait plus de parte fractionnaire ou que la précision obtenue soit jugée suffisante.

Soit 0.62510


Quand il ne reste plus de parte fractionnaire, on s‘arrête. Ainsi 0.62510 devient 0.1012

Tableau des puissances de 2


3.7.2  La conversion Binaire => Décimal

Le principe est similaire :

- On utilise les puissances de 2 négatives en commençant à 2-1
- On parcourt les bits de la gauche vers la droite.

Ex : Convertir 0.1012 en base 10

3.7.3  Exercices de conversion de nombres fractionnaires 


4)  Le langage hexadécimal

Le langage binaire s‘il est compréhensible par la machine (et peut être appelé à ce niveau langage machine) est Difficilement « assimilable » par l‘homme dès lors qu‘il est questions de grandes séries binaires. On utilise donc un autre système de notation, le système hexadécimal - base 16.

En notation hexadécimale, on utilise un alphabet comportant 16 symboles :



4.1  Conversions décimal - hexadécimal

Décimal  =>  Hexa 

On passe d‘un nombre en base 10 à un nombre en base 16 par divisions successives. On note les restes des divisions successives puis on lit ces restes en « remontant ».
 

Ex : convertir en base 16 le nombre 728 en base 10
donc 72810 = 2D816

Hexa => Décimal

Même principe que dans la conversion binaire, mais cette fois, il s‘agit des puissances de 16.

Ex :  13D16 à convertir en base 10



4.2  Passage direct binaire / hexadécimal

Si  l'on  représente les 16  symboles de l‘alphabet  hexadécimal  en  binaire,  on constate que l‘on  utilise pour chacun d‘eux un maximum de 4 bit


donc passer du binaire à l‘hexadécimal en décomposant le nombre binaire en bloc de 4 bit  en partant de la droite (bits dits de poids faible) et en restituant sa valeur hexadécimale à chacun de ces blocs.

Exemple : conversion de 73210

Le  passage  de  l‘hexadécimal  en  binaire  peut  donc  se  faire  de  la  manière  inverse,  c'est-à-dire  en convertissant les chiffres qui composent le nombre hexadécimal en leur équivalant binaire.

Ainsi 10C16 => (0001 0000 1100)2

------------------------------------------------------------------------------------------------

0 commentaires:

Enregistrer un commentaire

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites

 

IP