Vous êtes sur la page 1sur 10

Arithmtique binaire

Entiers naturels

Arithmtique binaire

Reprsentation en base 10:


2034 = 2 103 + 0 102 + 3 101 + 4 100
Reprsentation en base 2:
11010 = 1 24 + 1 23 + 0 22 + 1 21 + 0 20

(Universit Bordeaux 1)

Architecture de lOrdinateur

2007-2008

1 / 10

Arithmtique binaire

Entiers naturels

Algorithmes pour larithmtique binaire


Addition
1

Soustraction

1 1

1 0 1 1
1 0 0 1

1 0 0 1

1 1 0

1 0 1 0 0

0 0 1 1

Multiplication
*

Division

1 1 0 1
1 0 1

1 1 0 1
1 0

1 1 0 1
0 0 0 0
1 1 0 1

1 0
1 1 0

1 0 0 0 0 0 1
(Universit Bordeaux 1)

Architecture de lOrdinateur

2007-2008

2 / 10

Arithmtique binaire

Entiers relatifs

Reprsentation des nombres ngatifs

Il est possible dutiliser une reprsentation avec signe et valeur


absolue
Pour larithmtique il faut alors un circuit daddition et un autre de
soustraction
Il y a une meilleure solution qui ne ncessite quun circuit
daddition
Cette solution sappelle "complment 2"
Pour la comprendre nous parlerons dabord du complment 10

(Universit Bordeaux 1)

Architecture de lOrdinateur

2007-2008

3 / 10

Arithmtique binaire

Entiers relatifs

Complment 10 avec prcision infinie


Imaginons lodomtre dune voiture (ou dun vlo) mais avec un
nombre infini de roues.
Les nombres positifs sont reprsents comme dhabitude
Les nombres ngatifs avec un nombre infini de chiffres 9
gauche :
1 = ...9999999
2 = ...9999998
3 ...9999997
Supposons que nous avons un circuit daddition de ce type de
nombres (Chaque nombre peut tre reprsent de faon finie)
Cest la reprsentation exacte utilise par certains langages de
programmation permettant la prcision arbitraire des entiers (et
des rationnels)
(Universit Bordeaux 1)

Architecture de lOrdinateur

2007-2008

4 / 10

Arithmtique binaire

Entiers relatifs

Reprsentation des nombres ngatifs


Pour les nombres positifs de ce type, le circuit marche
normalement
Pour additionner un nombre positif avec un nombre ngatif, on fait
comme si le nombre ngatif tait positif (et trs grand) :
...
...
...

0
9
0

0
9
0

0
9
0

3
9
2

4
3
7

(34)
(-7)
(27)

Pour additionner deux nombres ngatifs, on fait la mme chose :


...
...
...

9
9
9

9
9
9

9
9
9

8
9
8

7
3
0

(-13)
(-7)
(20)

Pour calculer la ngation dun nombre, il suffit de remplacer


chaque chiffre c par (9 c), puis finalement dadditionner 1 au
rsultat.
(Universit Bordeaux 1)

Architecture de lOrdinateur

2007-2008

5 / 10

Arithmtique binaire

Entiers relatifs

Reprsentation des nombres ngatifs


Nous pouvons faire presque la mme chose avec une prcision
finie
Mais il faut introduire la notion de dbordement (overflow,
underflow)
Si la roue la plus gauche contient 0, 1, 2, 3 ou 4, alors le nombre
est positif
Si la roue la plus gauche contient 5, 6, 7, 8 ou 9, alors le nombre
est ngatif
Exemples dadditions:

2
1
3

3
0
3

3
5
8

(Universit Bordeaux 1)

2
5
7

3
2
5

3
1
4

(-479)
(-246)

Architecture de lOrdinateur

2007-2008

6 / 10

Arithmtique binaire

Entiers relatifs

Reprsentation des nombres ngatifs

Dautres exemples dadditions plus problmatiques:


+
1

2
9
2

3
9
2

3
5
8

(-5)
(???)
+
1

2
3
5

+
9
8
8

9
8
7

8
1
9

3 3
2 1
5 4
(-2)
(-119)
(???)

(-446 !!!!)

Si le rsultat de laddition de deux nombres positifs est un nombre


positif, alors le rsultat est bon
Si le resultat de laddition de deux nombres ngatifs est un
nombre ngatif, alors le rsultat est bon

(Universit Bordeaux 1)

Architecture de lOrdinateur

2007-2008

7 / 10

Arithmtique binaire

Entiers relatifs

Reprsentation des nombres ngatifs

Le rsultat de laddition dun nombre positif et dun nombre ngatif


est toujours bon (il faut ventuellement supprimer le chiffre
supplmentaire)
Si le rsultat de laddition de deux nombres positifs est ngatif,
alors il y a dbordement
Si le rsultat de laddition de deux nombres ngatifs contient un
chiffre supplmentaire, alors il y a dbordement

(Universit Bordeaux 1)

Architecture de lOrdinateur

2007-2008

8 / 10

Arithmtique binaire

Entiers relatifs

Arithmtique binaire

La mme reprsentation marche en base 2 (complment 2)


Les nombres positifs ont un 0 la premire position
Les nombres ngatifs ont un 1 la premire position
Pour calculer la ngation dun nombre, il faut remplacer chaque
chiffre par son inverse, puis finalement additionner 1
Le dbordement se dtecte de la mme faon

(Universit Bordeaux 1)

Architecture de lOrdinateur

2007-2008

9 / 10

Arithmtique binaire

Nombres rationnels

Reprsentation des nombres rationnels

Pas souvent en matriel, mais en logiciel, car ncessite la


reprsentation des entiers avec une prcision arbitraire
Reprsentation sous la forme de deux entiers, dont le premier
ventuellement ngatif
Les deux entiers nont pas de facteurs communs (reprsentation
canonique)

(Universit Bordeaux 1)

Architecture de lOrdinateur

2007-2008

10 / 10