réaliser par : Adel © ADEL 2008-2010
 

 

 
Nombres entiers : divers systèmes de numération


Le système décimal, dit " à base10 " pour rappeler que les nombres s'y écrivent avec dix chiffres :
0 1 2 3 4 5 6 7 8 9,
n'est pas le plus pratique pour réaliser les opérations que l'on rencontre en informatique.

Nous y sommes tellement habitués que certains attribuent à tort au nombre " dix " constituant sa base, l'origine de la simplicité avec laquelle nous pouvons effectuer la plupart des applications. En réalité, nous pourrions montrer que si on s'y était habitué, on aurait pu effectuer les mêmes opérations avec autant de facilité dauns une autre base que 10.

 

3 927 décimal = 3103 + 9102 + 2101 + 7100


La base " dix " provient peut-être d'une méthode primitive de comptage sur les doigts.
Si elles n'étaient pas socialement aussi mal organisées, les araignées auraient certainement imposé un système à base " huit " dit " octal ", d'ailleurs utilisé dans certaines machines informatiques et utilisant huit chiffres : 0 1 2 3 4 5 6 7.

 

5 274 octal = 583 + 282 + 781 + 480


 

Pour des raisons techniques, les composants électroniques constituant la partie physique des ordinateurs, ne reconnaissent que deux niveaux de tension électrique que l'on a appelés " niveau haut" et " niveau bas"
H (high) et L (Low).
En mathématisant ce concept, ces niveaux se voient attribuer les chiffres 0 et 1 respectivement dans un système de numération binaire.
L'ordinateur compte sur deux doigts !

 

1101 binaire = 123 + 122 + 021 + 120


Les nombres binaires sont très pratiques quand ils représentent des états de capteurs ou d'actionneurs "Tout Ou Rien" industriels, mais catastrophiques en calcul : essayez de trouver l'équivalent décimal du nombre : 1101010010110111 par la formule des puissances de 2 précédente. C'est laborieux !

Un moyen terme entre les avantages et les inconvénients des notations décimale et binaire a été trouvé par l'emploi de l'écriture à base 16 dite " hexadécimale " utilisant les seize chiffres suivants :
0 1 2 3 4 5 6 7 8 9 A B C D E F.

Un exemple :

A3F2 hexadécimal = 10163 + 3162 + 15161 + 2160
Notez que l'on a traduit 'A' par 10 et 'F' par 15


Cliquez sur la boule ci-dessous pour voir un tableau de comptage comparatif.

Mais pourquoi diable éprouve-t-on le besoin de compter en base 16 ?

Réponse : par ce que cela simplifie grandement les calculs de conversion binaire-décimal !

Tout simplement !

Un exemple va vous montrer la facilité apportée par la notation hexadécimale
dans la conversion entre notations décimale et binaire.


Reprenons l'horrible nombre binaire de tout-à l'heure : 1101010010110111

Scindons-le en groupes de 4 chiffres :
1101
0100
1011
0111
Traduisons chacun des groupes en hexadécimal :
D
4
B
7
Valeurs des groupes en décimal
 
13163
 
4162
 
11161
 
7160

 

Une calculatrice, vite !
13163 + 4162 + 11161 + 7 = 134096 + 4256 + 1116 + 17 = 54 465
Pas vraiment difficile en somme !

Un nombre binaire de 8 bits s'appelle un octet (byte en anglais)
Un octet permet d'écrire 256 nombres de 0 à 255

 

Un nombre binaire de 16 bits est généralement appelé "word " en anglais.
Un tel groupement de 16 bits permet d'écrire 65 536 nombres de 0 à 65 535.

 

Un nombre binaire de 32 bits est généralement appelé " double word " ou " dword " en anglais.
Il permet d'écrire les nombres de 0 à 4 294 967 295

Convertissons un nombre héxadécimal en binaire, par exemple : AC7F.

 

A = 10 décimal = 1010 binaire
C = 12 décimal = 1100 binaire
7 = 07 décimal = 0111 binaire
F = 15 décimal = 1111 binaire

AC7F hexadécimal = 1010 1100 0111 1111 binaire = 1010110001111111 binaire

Si ces explications ne vous suffisent pas, cliquez sur le livre ci-dessous
pour un supplément d'information plus détaillé.



 
Notation des nombres écrits en hexadécimal

Observons que l'écriture 1753 est ambigüe :
ce peu peut être un nombre écrit en binaire, ou en hexadécimal, ou en octal.
Le résultat est très différent.suivant les cas.

Plusieurs notations sont utilisées pour signaler qu'un nombre est écrit en hexadécimal :

 
 #1753
 0x1753 (0=zéro)
 
 1753H

Elles varient suivant le contexte.

Quelques exemples.

 
#
Utilisé dans le code des pages HTML pour désigner des couleurs.
Par exemple
#FFA8B6 désigne la couleur rose composée par
une intensité de rouge primaire égale à FF (255 décimal)
une intensité de vert primaire égale à A8 (168 décimal)
une intensité de bleu primaire
égale à B6 (182 décimal)
 
0x
Utilisé dans les textes source de programmes.
En
langage C mais aussi en Java et dans les JavaScripts
 
H
Utilisé dans les langages de programmation tels que l'assembleur.

 


 
Exercices
Vous aurez les réponses en pointant les icônes
Quel est l'équivalent binaire de l'héxadécimal A4 ? Quel est son équivalent décimal ?

Convertir l'hexadécimal BAEF en son équivalent binaire.

Convertir en hexadécimal le nombre binaire : 11011011111001111010
Convertir en hexadécimal le nombre binaire : 1011001110011111110
Traduire F9 héxadécimal en décimal
Quelle est la relation entre les nombres 0x7AB0 et 0x7AB ?
Remarquez que le second est obtenu en décalant le premier d'un rang vers la droite.
Quel est le rapport : r = 0xA74E00/0xA742E ?

Quel est le rapport des deux nombres suivants écrits en binaire : r = 10110110100000 / 101101101 ?


 
Nombres relatifs

L'opposé d'un nombre x est, par définition, le nombre y tel que x + y = 0
On le note -x ; soit : y = -x ; ou encore : x + (-x) = 0

Une difficulté apparaît dans toutes les opérations faites avec des nombres binaires sur les calculateurs numériques réels : les nombres binaires y ont un nombre de chiffres fixe (soit 8 soit16 soit 32 soit 64 bits généralement suivant les processeurs).

C'est cette même limitation qui apparaît sur les compteurs kilométriques de véhicules. Limités par exemple à six chiffres, lorsque le comteur arrive à 999 999, il retombe à 000 000.

Tout ce qui va être dit sur les opérations mathématiques suppose que les opérations se font sans dépassement de la valeur maximale que peut prendre les format binaire choisi (nombre maximum de bits).

Si les nombres manipulés dépassent cette valeur il faudra avoir recours à un nombre supérieur de bits pour représenter les nombres.

Pour simplifier, nous allons partir de nombres de 4 bits.Les nombres extrêmes dans ce format sont 0000 et 1111, soit en décimal : 0 et 15. Ce sont des entiers positifs..
Il exsite deux manières d'écrire dans ce format à la fois des nombres positifs et leurs opposés :

  • La convention dite du "bit de signe".
  • La convention dite du "complément à deux".
 
Convention dite " à bit de signe"
  • Le le bit le plus signifiant (bit de gauche) représente le signe : 0 pour "plus" et 1 pour "moins".
  • La valeur absolue est données par le reste des bits.

Exemple :

Binaire 4 Bits
Décimal
0111
+ 7
0110
+ 6
0101
+ 5
0100
+ 4
0011
+ 3
0010
+ 2
0001
+ 1
0000
+ 0
1000
- 0
1001
- 1
1010
- 2
1011
- 3
1100
- 4
1101
- 5
1110
- 6
1111
- 7


Cette méthode semble très simple.
Pour n bits les valeurs extrêmes sont : 2( n - 1 ) - 1
On peut écrire autant de positifs que de négatifs.

Mais le revers de la médaille est plus sombre :

  • Il y a manifestement deux zéros (un "zéro positif" un "zéro négatif" ! )
  • Les opérations ne se font manifestement pas facilement comme le montre l'exemple suivant
 
Binaire 4 Bits
Décimal
 
Nombre 1
 
0100
 
+ 4
 
Nombre 2
 
1011
 
- 3
 
Somme
 
1111
 
- 7
 
Faux !
 
Convention dite du "Complément à deux"

C'est la convention la plus utilisée.

  1. Les nombres dont le bit le plus signifiant (bit de gauche) est à zéro sont considérés comme positifs.
  2. Leurs opposés s'obtiennent par l'opération (toute naturelle) suivante :
    Opposé de n = 0 - n
    Ou encore : (-x) = 0 - x ;
    Etant bien entendu que l'on reste à l'intérieur du format binaire déterminé
    .
    c.a.d. que l'on ignore les bits de dépassement dans l'opération

Exemples :

 
Binaire 4 Bits
Décimal
Remarques
Zéro
 
0000
 
0
 
Nombre x
 
0101
 
+ 5
 
- x
 
1011
 
- 5
 
Par définition

N.B. La soustraction binaire se fait comme en numération décimale : avec retenues et reports.

Exemple :
En soustrayant les bits à droite de 0000 - 0101
on déclare : 0 - 1 = 1 je retiens 1 que je reporte sur le zéro suivant de 0000,
et ainsi de suite ...
Arrivés au bit le plus à gauche, 1 + 1 = 0 je retiens 1
que je ne reporte pas puisque je sors du format 4 bits.

On peut ainsi construire le tableau suivant :

Binaire
Décimal
Hexadécimal
0111
+ 7
7
0110
+ 6
6
0101
+ 5
5
0100
+ 4
4
0011
+ 3
3
0010
+ 2
2
0001
+ 1
1
0000
0
0
1111
- 1
F
1110
- 2
E
1101
- 3
D
1100
- 4
C
1011
- 5
B
1010
- 6
A
1001
- 7
9
1000
- 8
8

Ce code est moins directement compréhensible pour les nombres négatifs,
mais les opérations se font de la même manière pour les positifs comme pour les négatifs
(ce qui est primordial pour les processeurs de calcul).

 
Binaire 4 Bits
Décimal
 
Nombre 1
 
0100
 
+ 4
 
Nombre 2
 
1101
 
- 3
Voir tableau précédent
Somme
 
0001
 
+ 1
 
Exact !

Avec 8 bits :
Binaire
Décimal
Hexadécimal
0111 1111
+ 127
7F
0111 1110
+ 126
7E
...
...
...
0000 0001
+ 1
1
0000 0000
0
0
1111 1111
- 1
FF
1111 1110
- 2
FE
...
...
...
1000 0001
- 127
81
1000 0000
- 128
80

Avec 16 bits :
Binaire
Décimal
Hexadécimal
Formules
0111 1111 1111 1111
+ 32 767
7FFF
2(16-1)- 1
0111 1111 1111 1110
+ 32 766
7FFE
 
...
...
...
 
0000 0000 0000 0001
+ 1
1
 
0000 0000 0000 0000
0
0
 
1111 1111 1111 1111
- 1
FFFF
 
1111 1111 1111 1110
- 2
FFFE
 
...
...
...
 
1000 0000 0000 0001
- 32 767
81
- 2(16-1)+ 1
1000 0000 0000 0000
- 32 738
80
- 2(16-1)

Lorsque l'on écrit un nombre binaire pourvant prendre des valeurs positives ou négatives (entier relatif),
il est indispensable d'en préciser le format (nombre de bits) dans lequel il est écrit.

Exemple:
Le nombre 1111 représente, en écriture décimale :

  • le nombre entier 15 si on le considère comme écrit en binaire naturel ; quel que soit le format.
  • le relatif - 1 si on le considère écrit en binaire 4 bits convention du complément à deux;
  • le relatif - 7 si on le considère écrit en binaire 4 bits convention du bit de signe;
  • le nombre relatif + 7 si on le considère écrit en binaire 16 bits convention du complément à deux.

║════║
║═══║
║══║
║═║ WELCOME TO

║══║ A D E L

║═║ MY WEB SITE
║══║
║═══║
║════║


PUT YOUR PUB HERE

if you want to pub on my web site contact me on facebook by sending a msg ..




votre adresse ip : 18.218.8.36

le nbr des visiteurs aujourd'hui : 21

© ADEL 2008 - 2010

Aujourd'hui sont déjà 6309 visiteursIci!
Ce site web a été créé gratuitement avec Ma-page.fr. Tu veux aussi ton propre site web ?
S'inscrire gratuitement