Vous êtes sur la page 1sur 5

Faculté des Sciences et Techniques d’Errachidia

Département de physique

Solution TD

TD1

Exercice 1
1) Effectuer les conversions suivantes :
o 43105 = 4*53 + 3*52 + 1*51 + 0*50 =500 + 75 + 5=58010
o 19812 = 1*122 + 9*121 + 8*120 =144 + 108 + 8 = 26010
o 673.235 = 6*52 + 7*51 + 3*50 + 2*5-1 + 3*5-2 =188.4
188 = 128 + 32 + 16 + 6 + 4 = 1*27 + 1*25 +1*24 +1*23 +1*22
0.4 * 2 = 0.8  a-1 = 0
0.8 * 2 = 1.6  a-2 = 1
0.6 * 2 = 1.2  a-3 = 1
0.2 * 2 = 0.4  a-4 = 0
0.4 * 2 = 0.8  a-5 = 0
0.8 * 2 = 1.6  a-6 = 1
673.235 = 10111100.0110012
o 68BE16 = (0110 1000 1011 1110 )2 Eclatement sur 4 bit
= (110 100 010 111 110 )2
= (6 4 2 7 6)8
2 / Compléter le tableau suivant

Décimale Binaire Octale Hexadécimale


225 1110001 341 E1
215 11010111 327 D7
403 110010011 623 193
90 1011010 132 5A

Exercice 2
Effectuer les opérations suivantes
o Base binaire
1 0 1 1 02 1 0 1 1 02 1 0 1 12 1101 012 1112
- 1 0 0 1 02 - 1 0 0 1 12 * 1 0 0 12 - 111  111
= 0 0 1 0 02 = 0 0 0 1 12 1 0 1 12 110 0 
+1 0 1 1 0 0 02 - 11 1 
=1 1 0 0 0 1 12 10 11 
- 111 

100 
o Base octale
54758 5400458 7628 5*28 =5*210 =1010 =1*81 +2*80 =128
- 37648 - 3256548 * 458 (5*6 + 1)8 =3110 =3*81 +7*80 =378
1511 2121718 4672 (5*7 + 3)8 =3810 =4*81 +6*80 =468
3710
43772

5438 7*38 =7*310 =2110 =2*81 +5*80 =258


* 278 (2+7*4)8 =(2+7*4)10 =3010 =3*81 +6*80 =368
4665 (3+7*5)8 =(3+7*5)10 =3810 =4*81 +6*80 =468
1306
17745
TD proposé par: Rachid Skouri et Ahmed El Abbassi
5338  268 7*68 =7*610 = 4210= 5*81 +2*80 =528
-26  17
253 
-232 
21 
o Base hexadécimale
E4616 432116 1CF16 6*F16 =6*1510 =9010 =5*161 +A =5A16
- 59F16 - 2ECD16 * B616 (6*C+5)16 =7710 =4*161 +13 =4D16
8A716 =145416 ADA (6*1+4)16 =1010 =A*160 =A16
13E5
1492A

2ECD16 2ECD 16 2616 7*616 =7*610 = 4210= 5*161 +2*160 =5216
* 432116 -26  13B
2ECD 8C 
5D9A . 72 
8C67 . 1AD 
BB34 . . . 1A2 
C45AF6D B 

Exercice 3

1 ) Effectuer les opérations suivantes en Ca2 et en Ca1 :

(-10)10 +(–11) 10 (-10)10 +(–6) 10 (-8)10 +(–11) 10

(11)10 +(9) 10 (-11)10 +(–4) 10

Ca2 Ca1 Ca2 Ca1

TD proposé par: Rachid Skouri et Ahmed El Abbassi


2 / Calculer (en complément à 2 sur 8 bits) les additions suivantes :

00110110 01110101 11011111 00110110 01110101 11010011


+01000101 +11011110 +10111000 - 00101011 -11010110 -11101100
01111011 01010011 10010111

Ca2 de 00101011 = 11010101 00110110 01110101 11010011


Ca2 de 11010110 = 00101010 +11010101 +00101010 +00010100
Ca2 de 11101100 = 00010100 00001011 10011111 11100111
Overflow
3) En supposant les nombres suivants sont codés sur 8 bits.
Calculer en utilisant Ca2 les opérations
a) sur 8 bits (y compris le bit du signe)
(377)8 + (001)8 ; (177)8 + (200)8
11 111 111 01 111 111
+00 000 001 +10 000 000
00 000 000 11 111 111
(377)8 + (001)8 =0008 (177)8 + (200)8 = 3778
b / sur 12 bits (y compris le bit du signe)
(205)16 - (0F5)16 = (?)16 ; (14F)16 - (0F5)16 = (?)16 ;
(0F5)16 = 0000 1111 0101 son Ca2 est 1111 0000 1010 + 1= 111100001011
(205)16 =0010 0000 0101 (14F)16 =0001 0100 1111
0010 0000 0101 0001 0100 1111
+1111 0000 1011 + 1111 0000 1011
0001 0001 0000 0000 0101 1010
(205)8 - (0F5)16 = (110)8 ; (14F)16 - (0F5)16 = (05A)16 ;
c / sur 9 bits ( y compris le bit du signe )
(363)8 + (057)8 = ? (470)8 - (255)8 =?.
(255)8= 010 101 1012 son Ca2 est : 101 010 010 +1 =101 010 011
011 110 011 100 111 000
+ 000 101 111 +101 010 011
100 100 010 010 001 011
(363)8 + (057)8 = (442)8 (470)8 - (255)8 =(213)8
= 4 / Effectuer les conversions suivantes où les nombres sont représentés en
complément à 2
(-748)10 = (?)16
(748)10 = 0010 1110 11002 son Ca2 est : 110100010011 + 1 =1101 0001 0100
(-748)10 = (D14)16
(2661)7 = (?)9
(2661)7=102310=9*9*9 + 3*9*9 + 5*9 + 6 = 13569
(FEDC)16 = (?)10
(FEDC)16 = F*163 + E*162 + D*161 + C*160 =( 65244)10

TD proposé par: Rachid Skouri et Ahmed El Abbassi


(1B3A)12 = (?)2
(1B3A)12 = 1*123 + B*122 + 3*121 + A*120 =( 3358)10 = 1101000111102

Exercice 4
1) En virgule fixe, décoder le nombre binaire 11.011
11:0112 = [1*21+1*20+0*2-1+1*2-2+1*2-3]10 = [2+1+0.25+0.125]10 = 3.37510
2) En virgule flottante normalisée, coder en binaire au format simple précision le réel 12.575
puis effectuer le codage inverse.
12.57510 = 1100.1001001…2 =[1. 10010010011001100110010*23]2
S=0 et E-127=3 soit E= 130 =10000010
0 | 10000010 | 10010010011001100110010 |
codage inverse.
Bit de signe = 0  nombre positif.
Exposant biaisé : 100000102 = 13010  exposant : 130-127 = 310
la mantisse normalisée est : 0.1001001001100110011001
[1 .1001001001100110011001*23]2 = 1100.10010011001100110012
= [23+22+2-1+2-4+2-7+2-8+2-11+2-12 +2-15 +2-16+2-19]10
= 12 .574998855590820312510
3) Coder les réels suivants (sur 32 bits) selon la norme IEEE 754 .
8 9 1.5 -3 125
8=23 =(-1)0*1.0*23 S=0, E-127=3 donc E=130=10000010, M=0
0 10000010 0000…..0
9=23+1=23(1+2-3) =1.001*2-3, S=0, E=130, M=2-3
0 10000010 0010…0
1.5 = 1 + 2-1=(-1)0(1.1)*20? S=0, E=127, M=2-1
0 01111111 1000…00
-3 = -(2+1)=-21*(1+2-1), S=-1, E=128, M=2-1
1 10000000 100…000
125 =64+ 32+ 16+ 8+ 4+ 1=26(1+2-1+2-2+2-3+2-4+2-6), S=0, E=133, M=2-1+2-2+2-3+2-4+2-6
0 10000101 11110100….000
4) Trouver le plus grand et le plus petit réel positif représentables avec la norme IEEE 754
simple précision.
Format IEEE 754 N=(-1)S* 2 E-127 * (1.M)
NminS=0, Emin=1, Mmin=0  Nmin=2-126
NmaxS=0, Emax=254 Mmax=2-1+2-2+2-3+2-4+….+2-23=2-2-23 Nmax=(2-2-23)*2128
5) Convertir en décimal les nombres hexadécimaux réels données sous format IEEE 754-32
bits :
42E48000 3F880000 C7F00000 BFC00000 et C0900000 80000008
42E48000 =0 10000101 11001001000000000000000
S=0, E=100001012 = 13310 M=2-1 +2-2 +2-5 + 2-7
X=114 .25

3F8800000=0 01111111 000100000000000000000000000


S=0 , E=01111111=127, M=2-4, X= 1 ;0625

C7F00000=1 10001111 11100000000000000000000


S=1, E=143, M=2-1 +2-2 +2-3 ? X=-122880

BFC00000 = 1 01111111 100 0000 0000 0000 0000 00002


S= 1, donc le nombre est négatif
E = 01111111 = 127. M = 2-1 .
X= -1,12 *20 = -1,510
TD proposé par: Rachid Skouri et Ahmed El Abbassi
.
C0900000 = 1 10000001 001 0000 0000 0000 0000 00002
S=1,E =10000001 = 129, M=2-3
X=-1,0012 * 

80000008 = 1 00000000 0000000000000000000100002
S=1, E = 000000002 , M = 0.0000000000000000000100002= 2-20
On a donc X = -2-127 * 2-20 = 2-147 = 5.6052 x 10-45.

6) Opérations en virgule flottante.


Soit a =(0.10010*10101)2 et b = (0.11010*101)2.
Calculer a+b et a*b.
a =(0.10010*10101)2=1001*101 b = (0.11010*101)2.
a +b a*b
1001.0000*10 1
0.1001*10101
+ 0.1101*101 * 0.1101*101
1
1001.1101*10 1001
a+b = 0.10011101*10101 100100
1001 .

0.01110101*10110
a*b = 0.1110101*1011
Exercice 5
1) Effectuer les opérations suivantes :
137216 + 463116
4F1A516 + B8D516
137216 4F1A516
+ 463116 + B8D516
59A316 5AA7A16
2) Effectuer l'opération 199 + 124 après avoir représenté les nombres en BCD.
199 0001 1001 1001
+124 + 0001 0010 0100
323 10 1011 1101 1101 :code invalide + 6
+ 0110
10 1100 0011 1100 : code invalide + 6
+ 0110 .
11 0010 0011
3 2 3

TD proposé par: Rachid Skouri et Ahmed El Abbassi

Vous aimerez peut-être aussi