Codage : Complement a 1, Complement a 2, signe/ valeur absolue

EXERCICE CORRIGES : COMPLÉMENT A 2, Entiers Signes, Compléments a 1, signe/ valeur absolue,

      

1)Donner les intervalles de codage d’un entier naturel sur : 8 bits, 16 bits, et 32 bits.     

2)Pour la représentation des entiers relatifs en signe/ valeur absolue, donner les intervalles de codage sur 8 bits et 16 bits.

3)Pour la représentation des entiers relatifs en complément à 2, donner les intervalles de codage sur 8 bits & 16 bits.

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 barrées.

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

00100101,111

00100101,111

37,875

25,E

#1

#2

#3

76,375

4C,6

11011011,101

#4

#5

#6

11111011,010

-123,25

00101101,101

#7

00101101,101

45,625

#8

Correction :

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)

  • 2 votes. Moyenne 4.5 sur 5.

Ajouter un commentaire

Anti-spam