Devoir sur le codage en bases 2,10 et 16
L'usage de la calculatrice est autorisé
Exercice 1
-
Convertir le nombre \((10111)_2\) vers la base 10.
-
Convertir le nombre \((78)_{10}\) vers la base 2.
Correction
-
\(10111_2=16+4+2+1=23\)
-
\(78=64+8+4+2=1001110_2\)
Exercice 2
-
Quel est l'entier relatif codé en complément à 2 sur 8 bits par le code 11011000?
-
Coder l'entier relatif -17 en complément à 2 sur 8 bits en expliquant.
-
Quel est le plus grand nombre que l'on peut écrire en complément à 2 sur 10 bits ?
Correction
-
C'est un nombre négatif car il commence par 1.
inversion : 00100111
ajout de 1 : 00101000=32+8=40
L'entier relatif codé par 11011000 correspond donc à -40
-
17=16+1 = 00010001
inversion : 11101110
ajout de 1 : 11101111
En complément à 2 sur 8 bits, -17 est codé par 11101111
-
Le plus grand nombre (donc positif) que l'on peut écrire est \(0111111111=2^9-1=511\)
Exercice 3
Quelle est l'écriture scientifique binaire du nombre réel qui s'écrit \((19.3125)_{10}\) ? Justifier soigneusement.
Correction
Partie entière:
19=16+2+1=10011
Partie décimale:
0.3125*2=0+0.625
0.625*2=1+0.25
0.25*2=0+0.5
0.5*2=1+0
D'où \((19.3125)_{10}=10011.0101\)
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.
-
Donner la représentation en machine sur 32 bits de \(14,4375\). Puis de \(\dfrac{1}{64}\).
Correction
\(14=8+4+2=1110\)
D'où \(14.4375=1110.0111\)0.4375*2=0+0.875 0.875*2=1+0.75 0.75*2=1+0.5 0.5*2=1+0
\(1110.0111=2^3 \times 1.1100111\)
\(127+3=130=128+2=2^7+2^1\)
On obtient alors l'écriture en simple précision : 0 10000010 11001110000...0
De même, on calcule: \(\dfrac{1}{64}=2^{-6}=2^{-6} \times 1.0000...000\)
Or \(-6+127=121=64+32+16+8+1=2^6+2^5+2^4+2^3+2^0\)
On obtient alors l'écriture en simple précision : 0 01111001 00...00
-
Quelle est l'écriture décimale de 1 10110101 01100111000000000000000 ?
Correction
10110101=128+32+16+4+1=181
181-127=54
\(1.01100111=1+2^{-2}+2^{-3}+2^{-6}+2^{-7}+2^{-8}=1.40234375\)
L'écriture décimale de 1 10110101 01100111000000000000000 est donc environ \(-2,53 \times 10^{16}\)
Exercice 5
-
Donner en base 2 le nombre \((BAC)_{16}\)
-
Donner en héxadécimal le nombre \((101010)_{10}\).
Correction
-
A=10=8+2=1010
B=11=1011
C=12=1100
d'où \((BAC)_{16}=101110101100\)
-
Attention, on dirait que le nombre est écrit en binaire mais ça n'est pas le cas !
\((101010)_{10}=1 \times 16^4+8 \times 16^{3}+10 \times 16^{2}+9 \times 16^{1}+2 \times 16^{0}\)
D'où \((101010)_{10}=(18A92)_{16}\)