Académique Documents
Professionnel Documents
Culture Documents
Département d'Electronique
Module DSP
Année 2020/2021
1.) Conversion du nombre décimal entier non signé 32928 en nombre binaire sur 16 bits.
2.) Quelle est la valeur de la suite 1101100101110101 qui représente un entier signé en
complément à 2 sur 16 bits.
3.) Donner la représentation en base dix des nombres suivants :(10011, 11101)2 et
(A23C, CC09)16.
4.) Coder les nombre entiers -3 et 5 sur 16 bits en code complément à deux,. Donner une
représentation hexadécimale.
5.) Effectuer les opérations suivantes en code complément à deux 8 bits :
120+45-70 et 120-45+70 , -126-85. Conclusion ?
6.) En supposant que les entiers 61 et -61 sont codés sur un octet en utilisant les
représentations signe et valeur absolue et code complément à 2. Effectuer l’addition
binaire de ces entiers ainsi codés . Conclusion ?
7.) Conversion du nombre décimal entier signé -12928 en nombre hexadécimal
8.) Nombre fractionnaire 3.1263427734375 sur 16 bits avec le maximum de précision.
9.) Exprimer les nombres 1.726945 et 9.129573 en binaire puis en hexadécimal avec le
format 2.14 et 5.11.
10) Convertir le nombre écrit en format IEEE (0100 0001 0010 0100 0000 0000 0000
0000)2
, (1011 1101 0100 0000 0000 0000 0000 0000)2 et (0101 0101 0110 0000 0000 0000 0000
0000)2 en décimal.
11) Conversion de -18.75 et 525,5.en nombre binaire à virgule flottante à 32 bits.
12) Convertir le nombre décimal 8,625 en virgule flottante suivant la norme IEEE 754 .
Correction
1.) Conversion du nombre décimal entier non signé 32928 en nombre binaire sur 16 bits.
32928/2=16464 reste 0
16464/2=8232 reste 0
8232/2=4116 reste 0
2058/2=1029 reste 0
1029/2=514 reste 1
514/2=257 reste 0
257/2=128 reste 1
128/2=64 reste 0
64/2=32 reste 0
32/2=16 reste 0
16/2=8 reste 0
8/2=4 reste 0
4/2=2 reste 0
2/2=1 reste 0
Poids forts
1/2 =0 reste 1
2.) Quelle est la valeur de la suite 1101100101110101 qui représente un entier signé en
complément à 2 sur 16 bits.
= 0010011010001011
= (19.90625)10.
= (41532.79701)10
3.) Coder les nombre entiers -3 et 5 sur 16 bits en code complément à deux,. Donner une
représentation hexadécimale.
(-3)10 =((1111 1111 1111 1100+0000 0000 0000 0001)=(1111 1111 1111 1101)2.
Avec un microprocesseur ou un DSP travaillant sur 32 bits on aurait : (-3)10 =(FFFF FFFD)16
Le code complément à deux sur 8 bits permet la représentation des nombres entre -27 et
27-1 soit une dynamique [-128 , +127].
120+45-70 et 120-45+70 , -126-85. Conclusion ?
0111 1000
+ 0010 1101
--------------------------
--------------------------
120+(-45)=75 soit 0100 1011 un résultat intermédiaire juste, mais en continuant la somme
75+70= (10010001)2 = (-111)10 ce qui est faux, normalement on devrait trouver +145
ce qui est supérieur à +127 ( nombre maximum codé sur 8 bits).
Conclusion :
Le code complément à deux ( à nbits) a plusieurs propriétés intéressantes :
−2 ( )
≤𝑦= ℎ(𝑘)𝑥(𝑥) ≤ 2( )
−1
5.) En supposant que les entiers 61 et -61 sont codés sur un octet en utilisant les
représentations signe et valeur absolue et code complément à 2. Effectuer
l’addition binaire de ces entiers ainsi codés. Conclusion ?
Parmi les codes utilisés dans la représentation des nombres signés on peut citer les codes
suivants : Code complément à 1, Code complément à 2 et code signe valeur absolue ( signe
amplitude, signe-module).
Leur différence se situe au niveau des opérations arithmétiques. C’est le code Code
complément à 2 qui convient aux microprocesseurs et DSP car l’addition et la soustraction
sont traitées de la même manière ( un additionneur au lieu d’un additionneur et d’un
soustracteur).
Donc (-12928)10=(1100110110000000)2=(CD80)16.
9.) Exprimer les nombres 1.726945 et 9.129573 en binaire puis en hexadécimal avec le
format 2.14 et 5.11.
0, 5625 x 2
1, 125 x 2
0, 25 x 2
0, 5 x 2
1, 0 x 2
0, 0
Réponse : (11,10010000)2 Format Q2.8
Vous suivez le principe utilisé dans l’exemple précédent. On obtient les résultats suivants
10) Convertir le nombre écrit en format IEEE (0100 0001 0010 0100 0000 0000 0000 0000)2
, (1011 1101 0100 0000 0000 0000 0000 0000)2 et (0101 0101 0110 0000 0000 0000 0000
0000)2 en décimal.
**************************************************************************
e
+m × 2 =(1,0010001)2 × 24 =(10010,001)2= 18.125
*****************************************************************
*** Conversion en format IEEE 754 de (1011 1101 0100 0000 0000 0000 0000 0000)2
***********************************************************************
Conversion en format IEEE 754 de (0101 0101 0110 0000 0000 0000 0000 0000)2
M=(110 0000 0000 0000 0000 0000)2 ; m=(1, 110 0000 0000 0000 0000 0000)
Le nombre correspondant est +(1,11) × 243 = +(111) × 241 =7x241 ≈ +1,5393 × 1013
Conversion de -18.75
M=(001 0110 0000 0000 0000 0000)2 et e=4 soit l’exposant E=biais +e=127+4=131
E=(131)10=(10000011)2
Conversion de 525.5
12) Convertir le nombre décimal 8,625 en virgule flottante suivant la norme IEEE 754 .