Architecture des ordinateurs Fiche 1

Transcription

Architecture des ordinateurs Fiche 1
Architecture des ordinateurs
L3 Informatique 2010-2011
Fiche 1 - Représentation des nombres et des caractères
Points abordés
–
–
–
–
–
1
Représentation des nombres entiers en différentes bases.
Codage BCD.
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 (41)dix , (63)dix , (128)dix , (3945)dix en binaire et en hexadécimal.
2. Exprimer les entiers (11000001)deux , (1111)deux , (11101)deux en décimal et en hexadécimal.
3. Exprimer les entiers (2BA)hex , (1CC)hex , (F0)hex en décimal et en binaire.
4. Exprimer l’entier (2911)dix en base sept et l’entier (1036)sept en décimal.
Exercice 2. (Opérations sur les nombres entiers)
Dans cet exercice, les entiers sont représentés sur huit bits.
1. Exprimer (17)dix et (12)dix en binaire puis les additionner et multiplier.
2. Exprimer (25)dix et (7)dix en binaire puis les additionner et multiplier.
3. Donner une méthode pour multiplier un nombre binaire par 2. Généraliser pour la
multiplication par 2k , k ≥ 0.
4. 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.
5. Donner une méthode pour calculer le reste de la division d’un nombre 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.
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é ?
1
Exercice 4. (Codage Binary Coded Decimal (BCD))
1. Donner le codage BCD des entiers (0)dix , (1)dix , (10)dix , (34355)dix .
2. Exprimer en décimal les entiers (1000 1001 0011)BCD et (0001 0100)BCD codés en
BCD.
3. Donner une estimation de la place mémoire supplémentaire (en nombre de bits)
nécessaire au codage BCD par rapport au codage binaire.
2
Entiers signés
Exercice 5. (Représentations des entiers signés)
On considère les entiers (0)dix , (1)dix , (32)dix , (131)dix , (255)dix . Pour chacun d’eux, donner
leur représentation positive et négative 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 6. (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 encodables. 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 7. (Dépassement de capacité)
On considère les nombres entiers signés (par complément à deux) sur neuf bits.
1. Que se passe-t-il lors de l’addition des entiers (200)dix et (100)dix ?
2. Que se passe-t-il lors de l’addition des entiers −(200)dix et −(100)dix ?
3. Comment peut-on détecter un dépassement de capacité ?
4. Peut-il y avoir dépassement de capacité si l’on ajoute deux nombres de même signe ?
5. Peut-il y avoir dépassement de capacité si l’on ajoute deux nombres de signes différents ?
3
Nombres à virgule
Exercice 8. (Représentation à virgule fixe)
1. Rappeler ce qu’est la représentation à virgule fixe en base deux d’un nombre à virgule.
2. Donner la représentation à virgule fixe en base deux des nombres décimaux suivants :
0.625, 9.625, 1.1, 12.375, 0.6953125, 31 , 2−71 .
Exercice 9. (Représentation en virgule flottante)
1. Rappeler l’encodage des nombres à virgule selon la norme IEEE754.
2. Rappeler les valeurs spéciales.
2
3. Calculer les plus petit et plus grand nombres représentables.
4. Calculer le plus petit nombre en valeur absolue non nul représentable.
5. Donner l’encodage de (1)dix , (−30.375)dix et (2980.625)dix selon la norme IEEE754.
6. Donner la valeur décimale de (01000010111011010100000000000000)IEEE754 encodé
selon la norme IEEE754.
4
Caractères
Exercice 10. (Code ASCII)
Le code ASCII permet de représenter chaque caractère par une séquence de sept bits.
1. Combien de chiffres hexadécimaux nécessite le codage ASCII d’un caractère ? Quel
est le plus petit nombre hexadécimal correspondant à un code ASCII ? Le plus grand ?
2. Quels sont les avantages et inconvénients de cet encodage ?
3. Qu’appelle-t-on les caractères de contrôle ?
4. Quelle opération binaire permet de transformer le codage d’un caractère majuscule
en un caractère minuscule ?
5. Retrouver la chaı̂ne de caractères encodée par (2268656C6C6F20776F726D7322)hex .
6. Qu’appelle-t-on le code ASCII étendu ?
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
[
\
]
∧
Table 1 – Le code ASCII.
3
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