Vous êtes sur la page 1sur 10

Université Ferhat Abbas -Sétif 1- Logique combinatoire et séquentielle

Département d’électrotechnique Années 2015/2016

TD n°01

EX1 : Décomposer les nombres suivants en fonction des puissances entières de la base
de leur système de numération et déterminer la valeur décimale correspondante :
a/ (110)2 ; b/ (10001)2 ; c/ (47)8 ; d/ (150)8 ; e/ (FD16)16 ; f/ (ABC)16
EX2 : Trouver et corriger (si possible) les fautes dans les expressions suivantes :
a/ N=(1200)2 ; b/ N=(5678)8 ; c/N=(1AFE5H00)16 ; d/(AA)16=(1010)10;
e/(AABC)16=(999)10
EX3 : Effectuer les opérations conversions suivantes :
A) Par division Euclidienne successive :
a/(65)10=(…)2 ; b/(509)10=(…)2 ; c/(1455)10=(…)8 ; d/(2317)10=(…)16
B) Par passage direct en se basant sur les résultats obtenus dans la partie précédente:
a/(65)10=(…)8 =(…)16 ; b/(509)10=(…)8 =(…)16 ; c/(1455)10=(…)2 =(…)16
d/(2317)10=(…)2
EX4 : Convertir les nombres binaires suivants en octal puis en hexadécimal :
a/(10100110)2 ; b/(111110000)2 ; C/(11001,01001)2
EX5 : Effectuer les opérations arithmétiques suivantes en binaire par la méthodes des
compléments à 1 et à 2 en utilisant la forme normalisée à 8 bits (bit signe compris)
a/ (-24) + (-52) b/(-46) + (25) c/(-102)-(+23) d/(+208)-(+78)
EX6 : Effectuer l’addition des nombres décimaux suivant dans le code BCD
2376 et 4752 536 et 385 5269 et 4657 4837 et 2972
EX7 : A) Convertir chaque nombre Binaire en code Gray
10110 10100011110 1100111000111
B) Convertir chaque nombre Gray en Binaire
10101111 110110111 1011010
Correction :
EX1 :
a/(110)2 =0x20+1x21+1x22=0+2+4=(6)10
b/ (11001)2=1x20+0x21+0x22+1x23 +1x24=1+0+0+8+32=(41)10
c/ (47)8=7 x80+4 x81=(39)10
d/ (150)8=0 x80+5 x81+1x82=0+40+64=(104)10
e/(FD16)16=6 x160+1 x161+13 x162+15 x163=6+16+3328+61440=(64790)10
f/ (ABC)16=12 x160+11 x161+10 x162=12+176+2560=(2748)10
Remarque : Dans le système de numération hexadécimal nous avons : A=10, B=11,
C=12, D=13, E=14, F=15.
EX2 :
a/ N=(1200)2 ;
Dans le système de numération binaire tous les chiffres doivent etre 0 ou 1. D’une
manière générale dans un système de numération de base « b » tous les chiffres
doivent être entre 0 et b.

b/ N=(5678)8 ;
Dans le système de numération binaire tous les chiffres doivent être 0 ou 7.
c/N=(1AFE5H00)16 ; (H n’est pas un chiffre hexadécimal)
d/(170)10=(AA)16<(1010)10;
e/(AABC)16>(999)10
Pour représenter la même valeur dans deux bases différentes b1 et b2 telles que b1 > b2 ;
nous remarquons que le nombre de chiffres utilisés dans la base b1 est inférieur ou égal au
nombre de chiffres utilisés dans la base b2. Donc, la représentation décimale de‘AABC’
demande au moins 4 chiffres (décimaux). Finalement, sans calcul 999 ne peut pas
représenter AABC.
EX3 :
A)
a/ 65 2 (diviseur = la base)
1 32 2
0 16 2
0 8 2
0 4 2
0 2 2
0 1 2
1 0 condition d’arrêt : (le quotient=0)
Nous recopions les chiffres de bas en haut suivant le sens de la flèche verte.
(65)10=(1000001)2
b/
509 2
1 254 2
0 127 2
1 63 2
1 31 2
1 15 2
1 7 2
1 3 2
1 1 2
1 0 quotient =0 condition d’arrêt

Nous recopions les chiffres de bas en haut suivant le sens de la flèche verte.
(509)10=(111111101)2
c/ 1455 8 (diviseur = la base)
7 181 8
5 22 8
6 2 8
2 0 condition d’arrêt : (le quotient=0)

Nous recopions les chiffres de bas en haut suivant le sens de la flèche verte.
(1455)10=(2657)8

d/ 2317 16 (diviseur = la base)


D 144 16
0 9 16
9 0 condition d’arrêt : (le quotient=0)

Nous recopions les chiffres de bas en haut suivant le sens de la flèche verte.
(2317)10=(90D)16
B)
Pour représenter en octal un nombre binaire, il suffit de le découper en groupe de
trois bits ou triplet. Chacun des bits de ces groupes ayant une pondération
s'échelonnant de 20 à 22 leur somme fournit la valeur octale de chaque groupe.
Exemple : (1000111101111)2=(001 000 111 101 111)2 =(10757)8
1 0 7 5 7
De même, pour passer du binaire en hexadécimal, nous formons des groupes de quatre
bits puis nous donnons l’équivalent hexadécimal de chaque groupe.
Exemple : (1000111101111001101)2 = ( 0100 0111 1011 1100 1101)2 = (7BCD)16
4 7 B C D
L’opération inverse est aussi possible. Pour passer de l’octal au binaire nous codons
chaque chiffre octal sur trois bits comme suit :
(65712)8= ( 6 5 7 1 2 )8=(110101111001010) 2
110 101 111 001 010
Pour passer de l’hexadécimal au binaire nous codons chaque chiffre octal sur quatre
bits comme suit :
(65712)16 =( 6 5 7 1 2 )8=(110101111001010) 2
110 101 111 001 010
a/ (65)10=(001 000 001)2 =(101)8 =(00100 0001)2=(41)16 ;
b/ (509)10=(111 111 101)2=(775)8=(0001 1111 1101)2=(1FD)16 ;
c/(1455)10=(2 6 5 7)8=(010 110 101 111)2 = (0101 1010 1111)2=(5AF)16 ;
d/(2317)10= (90D)16=(1001 0000 1101)2=(100 100 001 101)2=(4415)8 ;
EX4 :
a/(10100110)2= (010 100 110)2=(246)8=(1010 0110)2=(A6)16;
b/(111110000)2 =(111 110 000)2=(760)8=(0001 1111 0000)2=(1F0)16;
C/(11001,01001)2=(011 001,010 010)2=(31,22)8 =(0001 1001,0100 1000)2=(19,48)16
EX5 :
Complément à 1 :
1) Le complément à 1 d’un nombre positif est égal à son binaire, par exemple :
c-à-1(5)=0000 0101
2) Le complément à 1 d’un nombre négatif est égal à l’inverse du code binaire de sa
valeur absolue, par exemple :
c-à-1(-5)= 00000101 =11111010;
Complément à 2 :
1) Le complément à 2 d’un nombre positif est égal à son binaire, par exemple :
c-à-2(5)=0000 0101
2) Le complément à 2 d’un nombre négatif est égal au complément à 1 + 1, par
exemple :
c-à-2(-5)= 11111010+00000001=11111011;
Le complément à 2 d’un nombre négatif peut être calculé avec une autre méthode.
Nous prenons le binaire de la valeur absolue. Puis, nous gardons les premiers
bits(nuls) jusqu’au premier bit non nuls sans aucun changement et les bits restant sont
inversé (1 devient 0 et le 0 devient 1), par exemple :
c-à-2(-8)= ?
le code binaire de 8 =0000 1000
c-à-2(-8)= 11111000
les premiers bits nuls jusqu’au premier bit non nul

a/.1 (-24) + (-52)= ?


c-à-1(-24)= 00011000 =11100111
c-à-1(-52) = 00110100 =11001011
Opération en c-à-1 :
1
1 1 110101111 1
+ 110 01011
1011 0010
+rajouter le bit de retenue 1
1 0 1 1 0 0 1 1 (résultat est en complément à 1)
a/.2
c-à-2(-24)= 11101000
c-à-2(-52) =11001100
Opération en c-à-2 :
1
1 1 11 0 1 0 0 0
+ 110 01100
1011010 0
Nous éliminons le bit de retenue dans les opérations en c-à-2.
b/(-46) + (25)= ?
c-à-1(-46)= 00101110=11010001
c-à-1(25) = 00011001
Opération en c-à-1 :
1 110 1 0 010 1
+ 00011001
11101010
c-à-2(-46)= 11010010
c-à-2(25) = 00011001
Opération en c-à-1 :
1 1 10 1 0 0 1 0
+ 00011001
11101011
c/ (-102)-(+23)= ?
c-à-1(-102) = 01100110=10011001
c-à-1(23) = 00010111
Opération en c-à-1 :
Règle de soustraction :
1-1=0
0-0=0
1-0=1
0-1=1 retenue 1
1-1=0 0-1= 1 retenue 1
0-0=0 1-1=0

0 1
1 1
1 0 0 1 1 0 0 1
- 0 0 0 1 0 1 1 1
1 0 0 0 0 0 1 0
Opération en complément à 2 :
c-à-2(-102) = 10011010
c-à-2(23) = 00010111
1 0 0 1 11 10 11 0
- 0 0 0 1 0 1 1 1
10 0 0 0 0 1 1
d/(+208)-(+78)
c-à-1(+208)= impossible (dépassement de capacité) car les nombres codés en c-à-1 sur 8 bits
sont entre -127 et +127 ; zéro est codé avec deux manière 10000000 et 00000000.
c-à-2(+208)= impossible (déplacement de capacité) car les nombres codés en c-à-2 sur 8 bits
sont entre -128 et +127 ; zéro est codé avec une seule manière 00000000. C0ependant,
10000000 est réservé pour -128.

EX6 :
2376 et 4752
2 3 7 6 ; 4 7 5 2
0010 0011 0111 0110 0100 0111 0101 0010
Nous avons codé chaque chiffre décimal sur un groupe de 4 bits.

1 1 1 1 1 1 1 1
00 1 0 0 0 11 0 1 11 0 110
+01 0 0 0 111 0101 0010
0 1 11 0 1110 110 1
1100 1000
+ 0110 0110 Pour les groupes qui dépassent 9

= 01 1 1 0001 0010 1000 nous ajoutons ( 6=0110)

7 1 2 8

5269 et 4657
5 2 6 9 ; 4 6 5 7
0101 0010 0110 1001 0100 0110 0101 0111
Nous avons codé chaque chiffre décimal sur un groupe de 4 bits.

Bit de retenue d’un groupe vers un autre groupe : on ajoute 6


1 1 1 1 1 1 1 1 1 1
0101 0 010 0110 1 0 01
+0100 0110 0101 0 111
1 0 0 1 1 0 01 0 1
1100 0000 dépassement de 9, nous ajoutons ( 6=0110)

+ 0110 0110
= 1001 1001 0010 0110
9 9 2 6
Remarque : Nous ajoutons 0110 dans les deux cas suivant :
1- si nous obtenons un groupe de quatre bits qui dépasse « 9 ».
2- si un bit est retenu d’un groupe vers un autre groupe dans la première opération d’addition et
seulement dans la première opération d’addition.

EX7 :
(10110)2=11101 en Gray
Binaire

Gray

(10100011110)2=(11110010001) Gray
(1100111000111)2=(1010100100100) Gray.
EX8 :
(10101111)Gray=(11001010)2

Gray
Binaire

(110110111)Gray=(100100101)2
(1011010)Gray=(1101100)2

Vous aimerez peut-être aussi