Vous êtes sur la page 1sur 24

Systmes de numrotation

et arithmtique binaire

Systmes de numrotation

Techniques de conversion

Les oprations dans les bases

Exemples de codes

I. Systmes de numration
Objectif :
Linformaticien est amen manipuler des valeurs exprimes dans diffrentes bases
(notamment avec les systmes informatiques). Il est essentiel de possder quelques
notions sur les systmes de numration en gnral et sur les systmes binaire et
hexadcimal en particulier.
Quelques dfinitions :
DIGIT : Contraction de "digital unit" unit digitale. Un digit est un lment d'information
numrique de base quelconque.
Ex : Les nombres 1644 (base 10) et A84F (base 16) sont constitus chacun de 4 digits.
POIDS DUN DIGIT : La valeur de chaque digit dpend de sa position. A chaque rang
(position), est affect un poids. Les positions des digits d'un nombre crit en base B ont
pour poids des puissances de B.

Systmes de numrotation
et arithmtique binaire
BIT : Contraction de "binary digit" digit binaire. Un bit ne peut prendre que deux tats 0
ou 1.
Ex : le nombre binaire 10100101 est constitu de 8 bits.
MOT : Un MOT est lassociation (concatnation) de plusieurs digits ou bits (peut tre
aussi appel courant un Nombre )
un mot de 4 bits sappelle un quartet; ex : 1010
un mot de 8 bits sappelle un octet; ex : 1011 0110
BASE : Un nombre est crit en base B, chacun de ses digits peut tre crit avec B
symboles diffrents : Valeurs en base 10 [10 symboles]: 0 1 2 3 4 5 6 7 8 9
Symboles en base 16 [16 symboles]: 0 1 2 3 4 5 6 7 8 9 A B C D E F
CAPACITE DE COMPTAGE : Avec N digits crits en base B, on peut compter de 0
BN-1, soit BN nombres diffrents.

I.1. Systme dcimal :Le systme de numration que nous employons


couramment utilise 10 chiffres : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. On l'appelle pour cela
"systme
dcimal"
ou
systme

base
10.
Dans ce systme, un nombre peut tre dcompos en puissance de 10
Base 10 : dix symboles : 0, 1, 2, ..., 9 : digits
Ecriture dun nombre : position du chiffre dtermine son poids

1578 1.103 5.102 7.101 8.100


Poids Fort

Poids Faible

Le nombre entier reprsent par une suite de symboles. N 10 an an1....a1a0

est donn sous forme dune combinaison linaire de puissance de 10 :

N 10 an 10n an1 10.n1 .... a1 101 a0 100


Cas gnral

Dans le cas gnral, en base b, on utilise b symboles ou chiffres: ai 0,1,2,....,sb1


Un nombre entier scrit alors comme une suite de symboles : N b an an1....a1a0

n
Ou sous forme dune combinaison linaire de puissance de la base b: N b a bi
i0 i

I.2. Systme binaire


Base 2 : deux symboles : 0, 1: Binary digit : Bit
MSB : Most Significant Bit

LSB : Least Significant Bit

101112 1.24 0.23 1.22 1.21 1.20

I.3. Autres systmes


Systme octal :
Base 8 : huit symboles : 0, 1,2,3,4,5,6,7.
Systme hexadcimal :
Base 16 : seize symboles : 0, 1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.
Exemples : quivalent dcimal des nombres suivants :
(1101)2 = ?
(2317)8= ?
(A25)16 = (A25)H = ?

I.4. Comptage dans une base b

Un systmes de numration de base b comprend b symboles ou chiffres qui sont :


0,1,2,3,....,s
Avec sb1 est le plus grand chiffre de la base b.

b1

A chaque fois que lon compte s


, dans la position des units, on revient zro et on
b1
augmente de un le chiffre dans la position des dizaines, on poursuit ainsi jusquau
nombre sb1sb 1 , Ensuite on ajoute 1 la position des centaines et on reprend le
comptage, avec des zros dans les deux premires positions .On continu de cette faon
jusquau nombre atteindre.
Exemples: Comptage
2
0
1
0
0
0
dcimal, hxadcimal, octal,
2
1
1
0
1
1
binaire ??
.
.

1
1
1
.
.
1

sb-1
0
1
2
.
.
sb-1

. .
. .
2
2 sb-1
3 0
3 1
3 2
. .
. .
sb-1 sb-1

.
.
1
1
1
.
.
1
2

. .
. .
0 sb-1
1 0
1 1
. .
. .
sb-1 sb-1
0 0

II. Techniques de Conversion


Changement de base
Il y a 3 types de conversion dune quantit reprsente dans une base bi en une autre
base bj

BASE
10

Dcodage

Dcodage

Codage

BASE
bi

Codage

Transcodage

BASE
bj

II.1. Passage vers la base 10 :


Il faut reprsenter le nombre sous la forme dune combinaison linaire des puissances
de la base b. En faisant la somme on retrouve le nombre dans la base 10.
Exemple: 11110011 1 27 1 26 1 25 1 2 4 0 23 0 2 2 1 21 1 20

128 64 32 16 0 0 2 1
243 10
II.2. Passage depuis la base 10 :
Le codage dun nombre sobtient en divisant successivement le nombre dcimal par b
jusquau moment ou le quotient devient nul le nombre cherch sera obtenu en
regroupant tous les restes successifs dans lordre inverse (en commencent par le
dernier reste allant jusqu premier reste).
Exemples :

(25)10 = (??)2

25

12

LSB

(363)10 = (??)H
363
11
(B)

2
0

(243)10 = (??)8

2
1

1
MSB

22

16

16
1

2
1

16

(25)10 = (11001)2

(363)10 = (16B)H

II.3. Transcodage (Conversion dune base bi vers une base bj)


Cest le passage entre deux systmes non dcimaux

1er cas: Si bi et bj sont tous les deux des puissances de 2n , on utilise la base 2
comme relais.
Base
2

Base
bi

Vers la base 2 : expansion

(361)8 =(??)4

(361)8 = 011 110 001 = 11110001

Base
bj

(2B5)H = (??)8

(2B5)H =0 010 1011 0101 = 1010110101

Depuis la base 2 : regroupement (ajouter des 0 gauche si ncessaire)


11110001= (3301)4

1010110101= 001 010 110 101 =(1265)8

2e cas: Si bi et bj ne sont pas tous les deux des puissances de 2, on utilise la base 10
comme relais.
1256 ?9
Exemple :
BASE
bi

BASE
10

BASE
bj

Solution : 1256 5310


5310 589
1256 5310 589

Conversions directes binaire <=> hexadcimal


La conversion de la base 2 la base 16 (et inversement) se fait aisment, la base 16
tant un multiple entier de la base 2. Elle permet de reprsenter sous une forme rduite
un nombre binaire.
24 = 16 => un groupe binaire de 4 bits est transcodable directement en un digit
hexadcimal.
Mthode : 0n divise le nombre binaire en tranches de 4 bits ( partir du LSB). Chacun
des quartets est ensuite converti en un digit hexadcimal par simple sommation
pondre.

II.4- Numration des nombres fractionnaires


Comme pour le nombre entier, le nombre fractionnaire scrit alors comme une suite de
symboles :

N b an an1...a2a1a0 a1a2...a p
n

i
Ce qui signifie : N b ai b
i p

1- Conversion de la base 10 vers une base quelconque b


On procde de la faon suivante :
1.Convertir la partie entire par lune des mthodes prcdentes
2.Convertir la partie fractionnaire en faisant des multiplications successives par la
base b et en conservant chaque fois le chiffre devenant entier
Exemple1 : 243,62510 ?8

Conversion de la partie entire :

solution : 24310 363


8

243
3

30
6

8
3
3

Conversion de la partie fractionnaire :

0,625 x 8 = 5 ,00

solution : 0,62510 0,58


243,62510 363,58
et

Exemple 2 :

243,62510 ?2

Conversion de la Partie entire

24310 111100112

Conversion de la partie fractionnaire

solution : 0,62510 0,1012


243,62510 11110011,1012
et

0,625x2 = 1 , 25
0,25 x 2 = 0 , 5
0,5 x 2 = 1 , 0

Remarque
Parfois en multipliant la partie fractionnaire par la base b, on narrive pas convertir
toute la partie entire. Ceci est du essentiellement au fait que le nombre convertir
na pas un quivalent exact dans la base b et sa partie fractionnaire est cyclique.
Exemple :

0,15 x 2 =
0,3 x 2 =
0,6 x 2 =
0,2 x 2 =
0,4 x 2 =
0,8 x 2 =
0,6 x 2 =

X ,1510 ?2
0,3
0,6
1,2
0,4
0,8
1,6
1,2

(0,15)10 = (0, 0010011001)2


On dit que (0,15)10 est cyclique dans la base 2 de
priode 1001.

2-Conversion dune base quelconque b vers la base 10


Pour ce type de conversion, il suffit de reprsenter le nombre par une combinaison
linaire des puissances successives de la base b et faire la somme, le rsultat ainsi
trouv scrit directement dans la base 10.

0,0010112 ?10

Exemple :

0,0010112

0 2 1

0,17187510

0,328 ?10

0 2 2 1 2 3 0 2 4 1 2 5

0 0,125 0 0,03125

1 2 6

0,015625

III. Les oprations dans les bases


Arithmtique binaire
Addition
0+0=0
0+1=1
1+0=1
1 + 1 = 10

Soustraction
0-0=0
1-0=1
1-1=0
0 - 1 = 11

Multiplication
0x0=0
0x1=0
1x0=0
1x1=1

Dpassement ,
retenue (Carry)

Emprunt (Borrow)

III-1-Addition
Exemple 1:

11 1 0 1

( 1110 1 1 0 )

7437

Exemple 2:

1011 0 0 1

Exemple 3:

1264

(10723)

AB 7 2

C E F

(B 8 6 1 )

Rq: On procde de la mme faon que dans la base dcimale. Il faut faire lopration
dans la base 10, puis le convertir dans la base b

1 6

III-2-Soustraction
10723

1110 1 0

Exemple 1:

Exemple 2:

11 0 1

Exemple 3:

1264

(07437)

( 1011 0 1 )

B 8 6 1

C E F

( AB 7 2 )

1 6

III-3-Multiplication
1 1 0 1

1 1

1 1 0 1

Exemple 1:

7235

Exemple 2:

7 2 A1

646

Exemple 3:

53656

1 5 7 E3

35164

1 1 0 1 1

4 ECEB

53656

1 1 0 1 1
( 1 0 1 1 1 1 0 1 0 )

(6013316)

2 B3

E 5 4 2
(1 3 5 6 8 9 3)

III-4- Division
Exemple 1:

101111010(1110)
10011
1010
10101
1110
0000

11011

6013316 ( 646)

Exemple 2:

2013
2771
4076
0000

7235

16

IV. Reprsentation binaire des nombres


signs
Plusieurs reprsentations possibles :
Signe + valeur absolue
Complment restreint
Complment vrai

Dfinitions :
Format

: nombre de bits utiliss

Protocole de codage : reprsentation


Dynamique

: plage de variation

IV.1. Bit de signe + valeur absolue


Sur n bits on garde 1 bit pour indiquer le signe
S MSB xxxxxx LSB

1 bit

Module (positif)
n-1 bits

Convention :
S=0 pour positif
S=1 pour ngatif

Exemple sur 8 bits :


Dynamique :

-23 = 1 0010111

-(2n-1-1) (2n-1-1)

Par exemple pour n=4 :

Le nombre relatif est compris entre (-7 et +7)


7

1111 1110 1101 1100 1011 1010 1001 1000 0000 0001 0010 0011 0100 0101 0110 0111
(Bits de signe)
Inconvnient :

Deux reprsentations du zro


Sur 4 bits +0 = 0000, -0 = 1000

Multiplications faciles N1*N2 : Abs(N1) * Abs(N2) et rgle simple pour le signe

Additions moins simples ?


Exemple : - 5 + 2 = ?

IV.2. Complment Restreint (CR) ou complment 1


Not CR(X)
On exprime en binaire la valeur absolue de X sur n-1 bits, puis on complmente (ou
inverse) tous les bits. Le bit de poids le plus fort reprsente toujours le bit de signe
Sobtient en complmentant bit bit

Exemple : n = 4
X=1001, CR(X) = 0110
n

do : CR(X) + 1 = 2 -X

On a X + CR(X) = 2 -1

Exemple_: n=8

510 ( 0 0000101) 2
510 ( 1 1111010) 2

Et

5 5 28 1 25510

Par exemple sur 4 bits on obtient le tableau suivant :


7

1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111

Inconvnient : Existence de deux zros (+0 et -0)


Solution: Reprsenter un nombre ngatif par le complment 2 de sa valeur absolue

IV.3. Complment Vrai (CV) ou complment 2


Not CV(X)

Sobtient en ajoutant 1 au CR : CV(X)=CR(X)+1


On a X + CV(X) = 2

do : CV(X) = -X

Dans le format considr 2 = 0

Mthode directe :
Parcourir le nombre de droite gauche, garder le premier 1 rencontr et
complmenter les suivants

Exemple : n = 4
X=1001, CR(X) = 0110, CV(X) = 0111
Cas spcial : Quand un nombre sign a 1 comme bit de signe et que des 0 comme
bits de la valeur absolue, son quivalent dcimal est 2 n 1

Par exemple: n= 4
8

1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111

V. Notions de codage
Un dispositif logique ou numrique est destin manipuler des informations
diverses qui doivent tre traduites par un ensemble de 0 et 1, obtenu suivant
une loi de correspondance prtablie: cest lopration de codage de linformation.

Codage (loi de correspondance)


Information

{Configuration binaire}

Exemple de codes:

Code ASCII: chaque touche du clavier est code sur 8 bits, donc on peut coder 256
caractres.
Exemple: Touche A ==> code ASCII 01000001 ??

V.1. Code BCD


Binary Coded Decimal : Dcimal cod en binaire
Le nombre dcimal est cod chiffre par chiffre par des combinaisons de 4 bits (quartets).
Exemple :

348 : 0011 0100 1000


Avantage :

Ncessaire pour les interfaces hommes-machines


Exemple: Reprsentation plus simple et trs utile pour les systmes daffichage
7 segments.
Problme :
Ajustement du rsultat par suite aux oprations arithmtiques

Ajustement BCD pour laddition binaire


Codage BCD et addition binaire pour les exemples suivants :

35
+ 21
56

46
+ 37
83

78
+ 44
122

39
+ 28
67

Rgles d ajustement :
Ajouter 6 (0110) chaque symbole dont l quivalent binaire n est pas un code BCD
En cas de retenu entre symboles, ajouter 6 (0110) au symbole qui a provoqu le
dbordement

V.2. Code de GRAY


Dans lordre squentiel du code, il ny a quun bit qui change entre 2 mots conscutifs

Binaire naturel

Binaire rflchi

Dc.
0

10

11

12

13

14

15

Conversion binaire naturel, binaire rflchi

Pour convertir un nombre reprsent en binaire naturel en binaire rflchi, il suffit de


faire une comparaison entre les bits bn1 et bn du binaire naturel, le rsultat est Bn
du binaire rflchi qui vaut 0 si bn1 bn ou 1 si bn1 bn
. Le premier bit gauche reste inchangeable.

Exemple1 : 610 ( 1 1 0 ) Bn 1010 ( 1 0 1 0 ) Bn


(

Br

V.3. Code de parit: code dtecteur derreur


Lmetteur et le rcepteur ayant convenu que le nombre total de 1 doit tre pair (ou
impair). On ajoute chaque n lments binaires un bit de parit de sorte que les (n+1)
bits comprennent un nombre pair(impair) de 1.

Br