Beruflich Dokumente
Kultur Dokumente
2.1.1 DÉCIMAL:
o Base 10
o 10 chiffres: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
o M C D U
o --------------------
o 5 3 0 4
2.1.2 BINAIRE:
o Base 2
o "0" et "1"
o Exemple:
o 8 4 2 1
o -------------------
o 1 0 1 1
o
=1x8+0x4+1x2+1x1
= 1011 base 2
o Note:
1=2^0
2=2^1
4=2^2
8=2^3
16 = 2 ^ 4 etc...
2.1.3 OCTAL
o Octal est Base 8
o exemple. 9 base 10 = 001001 base 2 = 11 base 8
2.1.4 HEXADECIMAL
o Utilise les chiffres 0-9 et A, B, C, D, E, F
o Hexadécimal est Base 16
o exemple. 30, base 10 = 00011110, base 2 = 1E, base 16
o On ecrit "$1E" or "1Eh"
Nombre entier:
(an . . . a2 a1 a0 )b = (bn an + . . . + b2 a2 + b1 a1 + b0 a0 )10
Nombre fractionnel:
(an . . . a1 a0 ,a-1 a-2 . . . )b =
(bn an + . . . + b1 a1 + b0 a0 + b-1 a-1 + b-2 a-2 . . . )10
On remarque qu'à partir de cet exemple en décimal on peut déduire une généralisation à toute
base b. Par exemple trouver la représentation du nombre décimal 0,8125 dans la base 2 :
Exercice:
Trouver l'équivalent en octal du nombre fractionnel décimal suivant: 0,3125 10
8 × 0,3125 = 2, 5 ce qui donne 2
8 × 0,5 = 4,0 ce qui donne 4
Donc 0,3125 10 = 0,24 8
Exercice:
Convertir 125,3125 10 en octal (base 8)
Partie entière: 125 10 → 175 8
Partie fractionnelle: 0,3125 10 → 0,24 8
Donc: 125,3125 10 → 175,24 8
Exercice:
Convertir 125,3125 10 en binaire (base 2)
Réponse: 125,3125 10 → 1111101,0101 2
0 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0
partie supra-unitaire partie sub-unitaire
La valeur maximale que nous pouvons représenter est 28 -2-8 (11111111,11111111 en binaire)
et la valeur minimale 2-8 (0,00000001). Nous constatons que la fidélité de la représentation (le
nombre de chiffres significatifs gardés) dépend directement de la valeur à représenter : plus le
nombre à représenter est petit, moins on peut garder de chiffres significatifs. Ce désavantage
se manifeste pour toutes les représentations en "virgule fixe".
2° Une autre possibilité, moins courante, est d'employer une représentation de type Décimal
Codé Binaire Naturel (Binary Coded Decimals). Dans ce cas, chaque chiffre du nombre
décimal à représenter est traduite individuellement en binaire sur 4 bits, et le nombre est
représenté par la concaténation de ces groupes de 4 bits (représentation BCD compacte).
Par exemple, pour (56,3125)10 :
5 6 , 3 1 2 5
0101 0110, 0011 0001 0010 0101
En version non compacte, chaque quartet qui code un chiffre décimal constitue le quartet le
moins significatif d'un octet, l'autre quartet étant 0000 (ex. : 5 0101 00000101). Le nombre est
représenté par la concaténation de ces octets.
Cette technique de représentation est moins économique, mais facilite la traduction.
1° Une première possibilité : le premier bit (le plus significatif) est réservé au signe (0 si N 0,
1 sinon), les autres contiennent la traduction en binaire de la valeur absolue :
Par exemple, avec 7 bits pour la partie supra-unitaire et 8 bits pour la partie sub-unitaire, nous
obtenons :
(+56,3125)10 = (+111000,0101)2
0 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0
(-56,3125)10 = (-111000,0101)2
1 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0
2° Complément à 1 (C 1 (N)) : le premier bit (le plus significatif) est réservé au signe (0 si N 0,
1 sinon), les autres contiennent la traduction en binaire de la valeur si le nombre est positif, ou
les chiffres opposés (0 1) à ceux de la traduction si le nombre est négatif. Par exemple, avec 7
bits pour la partie supra-unitaire et 8 bits pour la partie sub-unitaire, nous obtenons :
(+56,3125)10 = (+111000,0101)2
0 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0
(-56,3125)10 = (-111000,0101)2
1 1 0 0 0 1 1 1 1 0 1 0 1 1 1 1
3° Complément à 2 (C 2 (N), ou complément vrai). Le premier bit (le plus significatif) est
réservé au signe (0 si N 0, 1 sinon). Considérons que n des bits suivants sont réservés à la
partie supra-unitaire des nombres. Alors la représentation signe mis à part contient la
traduction en binaire de la valeur si le nombre est positif, ou la différence entre 2n et le résultat
de cette traduction si le nombre est négatif. Par exemple, avec 7 bits pour la partie supra-
unitaire et 8 bits pour la partie sub-unitaire, nous obtenons :
(+56,3125)10 = (+111000,0101)2
0 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0
(-56,3125)10 = (-111000,0101)2 27 - 111000,0101 = 1000111,10110000 =
1 1 0 0 0 1 1 1 1 0 1 1 0 0 0 0
4° Codage par excédent (employé pour des nombres sans partie fractionnaire) : la
représentation contient la traduction en binaire de la somme entre le nombre à représenter et
une valeur positive fixe (choisie telle que le résultat soit toujours positif pour les nombres
qu'on veut représenter). Par exemple, avec 8 bits, par excédent à 128 (= 27 ), nous obtenons :
Nous constatons que le premier bit ne correspond plus à la convention de signe employée
jusqu'ici.
1° En simple précision (IEEE 754), 32 bits sont employés pour la représentation. Ainsi, le
nombre 1,f × 2e -127 est représenté sous la forme suivante :
signe e f
31 30 23 22 0
Par exemple :
1 10000001 01000000000000000000000 représente :
signe = 1 nombre négatif
e - 127 = (10000001)2 - 127 = 129 - 127 = 2
f = (0,01)2 = 0,25
donc le nombre représenté est -1,25 × 22 = -5.
+0,25 = (0,01)2 est représenté par :
nombre positif signe = 0
(0,01)2 = 1,0 × 2-2 = 1,0 × 2125-127
donc +0,25 est représenté par 0 01111101 00000000000000000000000
2° En double précision (IEEE 754), 64 bits sont employés pour la représentation. Le nombre
1,f × 2e -1023 est représenté sous la forme suivante :
signe e f
63 62 52 51 0
NaN est le résultat, par exemple, de −1 ou de log(1) ; le résultat d'une opération dont un des
arguments est NaN doit être NaN. est le résultat, par exemple, des divisions par 0 ou de
log(0) ; peut intervenir dans des calculs, par exemple 1/ = 0.
Exercice
Montrer comment s'écriraient les nombres suivants sous les formats IEEE 754 simple (32
bits) et double (64 bits) précision.
(a) + 1.0111 × 27
Simple précision 0 10000110 0111 0000 ......00
Double précision 0 10000000110 0111 0000 .....00
(b) - 1.10010 × 22
Simple précision 1 10000001 1001 0000 ......00
Double précision 1 10000000001 1001 0000 .....00
2.2 ARITHMÉTIQUE EN BINAIRE
2° A < B : retenue (transport vers le MSB) résultat négatif, à représenter sur plus de 8 bits
0100 0100 - 68 -
1000 1010 138
1011 1010 - 70
(70)10 = (0100 0110)2 , (-70)10 = (1011 1010)2 en complément à 2, sur 8 bits
mais :
0100 0100 - 68 -
1100 1010 202
0111 1010 - 134
(134)10 = (1000 0110)2 , (-134)10 ne peut pas être représenté en complément à 2 sur 8 bits,
9 bits sont nécessaires : (-134)10 = (1 0111 1010)2
1° 00101011 ×
00001001
00101011
00101011
11111111
11111111
11111111
11111111
11111111
11111111
11111111
11111111
2.2.1.4 La division exemple (dividende représenté sur 8 bits, diviseur sur 4 bits) :
La division d'un nombre binaire est identique à la division d'un nombre décimal.
Dividende/diviseur = quotient
12 Dividende
-4 Première soustraction du diviseur
8 Premier reste
-4 Deuxième soustraction du diviseur
4 Deuxième reste
-4 Troisième soustraction du diviseur
0 Reste de zéro
Dans cet exemple, le diviseur est soustrait du dividende trois fois avant l'obtention d'un reste 0
(ou inférieur au diviseur).
Le signe du quotient dépend du signe du dividende et du diviseur.
01110 Dividende
00110 Complément à deux du diviseur, ce qui revient à une soustraction (voir plus bas).
00100 Premier reste positif, on incrémente le quotient 00001
00110 Complément à deux du diviseur
01010 Deuxième reste positif, on incrémente le quotient 00010
00110 Complément à deux du diviseur
00000 Reste de zéro, on incrémente le quotient 00011
Cas particulier : division par 2n = déplacement à droite de n positions.
positif négatif : 0100 1000 1 0000 0000 - 0100 1000 = 1011 1000 (signe inclus)
négatif positif : 1011 1000 1 0000 0000 - 1011 1000 = 0100 1000 (signe inclus)
2° C2 (N) = C1 (N) + 1, le C1 (N) étant obtenu en inversant tous les chiffres de la représentation
en binaire du nombre (0 1), par exemple
positif négatif : 0100 1000 1011 0111, +1 1011 1000 (signe inclus)
négatif positif : 1011 1000 0100 0111, +1 0100 1000 (signe inclus)
2.2.2.2 L'addition exemples (nombres représentés sur 8 bits, dont 1 bit de signe) :
1° pas de retenue, pas de dépassement du format
0100 1010 +
0010 1100
0111 0110
résultat correct
Soustraction en complément à 2:
Remarque: On dit qu'il y dépassement (overflow) quand, par exemple, l'addition de deux
nombres positifs donne un résultat négatif ou alors l'addition de deux nombres négatifs donne
un résultat positif.
2.2.3 Nombres en DCBN compacte
Les quartets sont entre 0000 (correspondant à 0)et 1001 (correspondant à 9).