Architecture des ordinateurs

Transcription

Architecture des ordinateurs
Architecture des ordinateurs
L3 Informatique 2011-2012
Fiche 1 - Représentation des nombres et des
caractères
Points abordés
1
Représentation des nombres entiers en diérentes bases.
Représentations des nombres signés.
Représentations des nombres à virgules.
Représentations des caractères, encodage ASCII.
Entiers non signés
Exercice 1. (Changement de bases et nombres entiers)
1. Exprimer les entiers (1100 0001)deux , (1111)deux , (1 1101)deux en décimal et en hexadécimal.
2. Exprimer les entiers (41)dix , (63)dix , (128)dix en binaire et en hexadécimal.
3. Exprimer les entiers (2BA)hex , (1CC)hex , (F0)hex en décimal et en binaire.
Exercice 2. (Opérations sur les nombres entiers)
1. Exprimer (17)dix et (12)dix en binaire puis les additionner et multiplier
en binaire.
2. Donner une méthode pour multiplier un nombre entier binaire par 2.
Généraliser pour la multiplication par 2k , k ≥ 0.
3. Donner une méthode pour calculer la partie entière de la division d'un
nombre binaire par 2. Généraliser pour la division par 2k , k ≥ 0.
1
4. Donner une méthode pour calculer le reste de la division d'un nombre
entier (positif) binaire par 2. Généraliser pour le reste pour la division
par 2k , k ≥ 0.
Exercice 3. (Dépassement de capacité)
Dans cet exercice, les entiers sont représentés sur neuf bits (en non signé).
1. Quel est l'intervalle représentable ?
2. Que se passe-t-il lors de l'addition des entiers (400)dix et (200)dix ?
3. Comment peut-on détecter un dépassement de capacité lors d'une addition de deux entiers ?
Nous n'avons jusqu'à maintenant travaillé qu'avec des entiers positifs.
Pour pouvoir représenter des entiers relatifs (positif et négatif) avec un même
champs de bit on peux utiliser diérents moyens.
2
Entiers signés
Exercice 4. (Représentations des entiers signés)
On considère les entiers (0)dix , (1)dix , (32)dix , (131)dix , (255)dix . Pour chacun
de ces nombres et pour chacun de leurs opposés donner leur représentations
sur neuf bits :
1. en magnitude signée ;
2. en complément à un ;
3. en complément à deux ;
4. biaisée avec un biais de 255.
Exercice 5.
Donnez les valeurs des nombres représentés par les champs de
bits : 0 0100, 101 1001, selon les représentations MS, C1, C2, B7.
Exercice 6. (l'opposé en complément à 2)
1. Énoncer comment on calcul l'opposé d'un nombre exprimé en complément à 2 sur n bits.
2. Appliquer ce principe deux fois sur le champs de bit 0010 0110.
3. Qu'observez vous ?
4. Observe-t-on toujours cette propriété ?
Exercice 7. (L'addition en complément à deux)
1. Représenter les nombres 13dix et −4dix en complément à deux sur cinq
bits.
2
2. Faites la somme en binaire, sur cinq bits, des deux représentations
obtenus sans vous occuper de la retenu.
3. Représenter le nombre 13dix + (−4dix ) = 9dix en complément à deux
sur cinq bits.
4. Que remarquez vous ?
5. Est-ce tout le temps le cas ?
Exercice 8. (Comparaison de représentations des entiers signés)
On suppose que l'on dispose de n bits pour représenter des entiers signés.
Pour chacun des encodages suivants des entiers signés, donner l'intervalle
des valeurs représentables. Donner également leur inconvénients et avantages
respectifs.
1. Encodage en magnitude signée.
2. Encodage en complément à un.
3. Encodage en complément à deux.
4. Encodage avec un biais de k (où k est un entier positif).
Exercice 9. (Dépassement de capacité)
On utilise la représentation des entiers par complément à 2 sur neuf bits.
1. Que se passe-t-il lors de l'addition en binaire des représentation en bit
des entiers (200)dix et (100)dix ?
2. Que se passe-t-il lors de l'addition en binaire des représentation en bit
des entiers −(200)dix et −(100)dix ?
3. Peut-il y avoir dépassement de capacité si l'on ajoute deux nombres de
même signe ? Prouver la réponse.
4. Comment peut-on détecter un dépassement de capacité sur les champs
de bit ?
5. Peut-il y avoir dépassement de capacité si l'on ajoute deux nombres de
signes diérents ? Prouver la réponse.
3
Nombres à virgule
Exercice 10. (Représentation à virgule xe)
1. Rappeler ce qu'est la représentation à virgule xe en base deux d'un
nombre réel positif.
2. Donner la représentation à virgule xe en base deux des nombres suivants : 2−71 ; 0, 625 ; 9, 625 ; 1, 1 ; 31 ;
3
Exercice 11. (Représentation en virgule ottante)
1. Rappeler l'encodage des nombres à virgule ottante (selon la norme
IEEE754).
2. Calculer les plus petit et plus grand nombres réels représentables sur
32 bits.
3. Donner la représentation et calculer le plus petit nombre en valeur
absolue non nul représentable.
4. Donner l'encodage de −(9, 625)dix , −(1)dix et −(30, 1)dix selon la norme
IEEE754.
5. Donner la valeur décimale de (0100 0010 1110 1101 0100 0000 0000 0000)
encodé selon la norme IEEE754.
4
Caractères
Exercice 12. (Code ASCII)
Le code ASCII permet de représenter chaque caractère par une séquence de
sept bits.
1. Combien de chires hexadécimaux nécessite le codage ASCII d'un caractère ?
2. Qu'appelle-t-on les
caractères de contrôle ?
3. Quelle opération binaire permet de transformer le codage d'un caractère majuscule en un caractère minuscule ?
4. Retrouver la chaîne de caractères encodée par (2268656C6C6F20776F726D7322)hex
en utilisant la gure.
5. Qu'appelle-t-on le
code ASCII étendu ?
4
x0
x1
x2
x3
x4
x5
x6
x7
x8
x9
xA
xB
xC
xD
xE
xF
0x
NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF
CR
SO
SI
1x
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US
2x
espace
!
"
#
$
%
&
'
(
)
*
+
,
.
/
3x
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
4x
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
5x
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
∧
_
Figure 1 Le code ASCII.
5
6x
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
7x
p
q
r
s
t
u
v
w
x
y
z
{
|
}
∼
DEL