1)Donner les intervalles de codage d’un entier naturel sur : 8 bits, 16 bits, et 32 bits.
Réponse :
Sur 8 bits : [0, 28 − 1] = [0, 255]
Sur 16 bits : [0, 216 − 1] = [0, 65535]
Sur 32 bits : [0, 232 − 1] = [0, 4294967295]
|
2)Pour la représentation des entiers relatifs en signe/ valeur absolue, donner les intervalles de codage sur 8 bits et 16 bits.
Réponse :
Sur 8 bits : [−127,127] = [−27− 1 , 27− 1]
Sur 16 bits : [−32767,32767] = [−(215− 1) , 215− 1]
|
3)Pour la représentation des entiers relatifs en complément à 2, donner les intervalles de codage sur 8 bits & 16 bits.
Réponse :
Sur 8 bits : [−128,127] = [−27, 27− 1]
Sur 16 bits : [−32768,32767] = [−(215), 215− 1]
|
4) Remplissez le tableau suivant (les cases manquantes (#1 à #8) en convertissant les chiffres suivants vers les formats indiqués. Ne pas tenir compte des sections ombragées. Réponse :
Binaire Naturel
(8bits, 3 bits)
|
Binaire Complément a 2 ( 8bits , 3bits )
|
Binaire Signe ( signe/valeur absolue (8bits,3bits)
|
Décimal
|
Hexadécimal
|
00100101,111
|
|
|
37,875
|
25,E
|
#1= 01001100,011
|
#2= 01001100,011
|
#3= 01001100,011
|
76,375
|
4C,6
|
|
11011011,101
|
#4= 10100100,011
|
#5= -36,375
|
|
|
#6= 10000100,110
|
11111011,010
|
-123,25
|
|
00101101,101
|
#7= 00101101,101
|
00101101,101
|
45,625
|
#8=2D,A
|
|
|
|
|
|
Explication du résultat Pour :
#1 = #2 = #3 = 0100 1100, 0110 (4C,6)
C2(11011011,101) = C1(11011011,101) + 0,001 = ?
00100100,010 + 0,001 = 00100100,011
#4 : On trouve la valeur positive en binaire en faisant le complément à 2 :
On place le bit le plus significatif à 1 pour indiquer que c’est une valeur négative
10100100,011
#5 = -1 * 2^7 + 1*2^6 + 1*2^4 + 1*2^3 + 1*2^1 + 1*2^0 + 1*2^-1 + 1*2^-2
= -128 + 64 + 16 + 8 + 2 + 1 + 0,5 + 0,125 = -36,375
Où : 1*2^5 + 1*2^2 + 1*2^-2 + 1*2^-3 = 32 + 4 + 0,25 + 0,125 = -36,375
#6 : La Valeur positive en binaire en enlevant le bit de signe du binaire signé :
Valeur positive = 01111011,010
Le Complément à 2 de cette valeur : C2(01111011,010) =C1(01111011,010) + 0,001 =
10000100,101 + 0,001 = 10000100,110
#7 = 00101101,101
#8 = 2D,A => (00101101,1010)