Aller au contenu

Devoir sur le codage en bases 2,10 et 16

L'usage de la calculatrice est autorisé

Exercice 1

  1. Convertir le nombre \((1010101)_2\) vers la base 10.

  2. Convertir le nombre \((149)_{10}\) vers la base 2.

Correction
  1. \((1010101)_2=64+16+4+1=85\)

  2. \(149=128+16+4+1=10010101_2\)

Exercice 2

  1. Quel est l'entier relatif codé en complément à 2 sur 8 bits par le code 11001100?

  2. Coder l'entier relatif -27 en complément à 2 sur 8 bits en expliquant.

Correction
  1. C'est un nombre négatif car il commence par 1.

    inversion : 00110011

    ajout de 1 : 00110100=32+16+4=52

    L'entier relatif codé par 11001100 correspond donc à -52

  2. 27=16+8+2+1 = 00011011

    inversion : 11100100

    ajout de 1 : 11100101

    En complément à 2 sur 8 bits, -27 est codé par 11100101

Exercice 3

Quelle est l'écriture scientifique binaire du nombre réel qui s'écrit \((22.625)_{10}\) ? Justifier soigneusement.

Correction
Partie entière:
22=16+4+2=10110

Partie décimale:
0.625*2=1+0.25
0.25*2=0+0.5
0.5*2=1+0

D'où \((22.625)_{10}=10110.101\)

Exercice 4

Vous connaissez le codage sur 64 bits appelé « double précision ». Le codage sur 32 bits est appelé « simple précision ». L'exposant est alors codé sur 8 bits et le décalage est de 127, non pas 1023.

  1. Donner la représentation en machine sur 32 bits de \(214,875\). Puis de \(\dfrac{1}{32}\).

    Correction

    \(214=128+64+16+4+2=11010110\)

    0.875*2=1+0.75
    0.75*2=1+0.5
    0.5*2=1+0
    
    D'où \(214.875=11010110.111\)

    \(11010110.111=2^7 \times 1.1010110111\)

    \(127+7=134=128+4+2=2^7+2^2+2^1\)

    On obtient alors l'écriture en simple précision : 0 10000110 10101101110000...0

    De même, on calcule: \(\dfrac{1}{32}=2^{-5}=2^{-5} \times 1.0000...000\)

    Or \(-5+127=122=64+32+16+8+2=2^6+2^5+2^4+2^3+2^1\)

    On obtient alors l'écriture en simple précision : 0 01111010 00...00

  2. Quelle est l'écriture décimale de 1 10110101 01101111000000000000000 ?

    Correction

    10110101=128+32+16+4+1=181

    181-127=54

    \(1.011001111=1+2^{-2}+2^{-3}+2^{-5}+2^{-6}+2^{-7}+2^{-8}=1.43359375\)

    L'écriture décimale de 1 10110101 01101111000000000000000 est donc environ \(-2,58 \times 10^{16}\)

Exercice 5

  1. Donner en base 2 le nombre \((ABC)_{16}\)

  2. Donner en héxadécimal le nombre \((1101)_{10}\).

Correction
  1. A=10=8+2=1010

    B=11=1011

    C=12=1100

    d'où \((ABC)_{16}=101010111100\)

  2. Attention, on dirait que le nombre est écrit en binaire mais ça n'est pas le cas !

    \((1101)_{10}=4 \times 16^{2}+4 \times 16^{1}+13 \times 16^{0}\)

    D'où \((1101)_{10}=(44D)_{16}\)