Vous êtes sur la page 1sur 2

DUT Informatique Architecture des ordinateurs Année 2012/2013

TD 1 - Échauffement -

1 Numérations et changements de base


Écriture en base b
La valeur décimale A10 d’un nombre Ab = an . . . a2 a1 a0 écrit en base b est donnée par :
n
X
A10 = ai × bi
i=0
= an × bn + an−1 × bn−1 + · · · + a2 × b2 + a1 × b1 + a0 × b0
= an bn + an−1 bn−1 + · · · + a2 b2 + a1 b + a0
= a0 + b × (a1 + b × (a2 + b × (. . . an−1 + b × (an ) . . . ))).

Les ai sont les chiffres de l’écriture en base b ; leur valeur est comprise entre 0 et b − 1.

Bases spéciales En informatique, on utilise généralement les 3 bases suivantes :


– La base 2, ou binaire : les seuls chiffres sont 0 et 1, par exemple : 10112 = 1011b
– La base 10, ou décimale : attention, les nombres décimaux sont fréquemment écrits en omet-
tant la base (rien ne les distingue de nombre écrits dans une autre base).
– La base 16, ou hexadécimale : les chiffres sont 0, 1, . . . , 9, A, B, C, D, E, F ; les nombres hexa-
décimaux peuvent être notés de différentes manières : ABC16 = 0xABC = ABCh
Exemples
– en base 10 : 174710 = 1 × 103 + 7 × 102 + 4 × 101 + 7 × 100 = 1000 + 700 + 40 + 7 = 174710 .
– en base 2 : 1000100012 = 28 + 24 + 20 = 256 + 16 + 1 = 27310 .
– en base 8 : 17478 = 1 × 83 + 7 × 82 + 4 × 8 + 7 = 512 + 448 + 32 + 7 = 99910 .
– en base 16 : 3E716 = 3 × 162 + E × 16 + 7 = 3 × 256 + 14 × 16 + 7 = 768 + 224 + 7 = 99910 .

Exercice 1.1. Parmi les nombres suivants, quels sont ceux qui peuvent être écrits en binaire ? En
décimal ? En hexadécimal ?

ABC 789 7B9 1000b 1 102002 GAF F E 0x789 1011 100010


binaire
décimal
hexadécimal

Exercice 1.2. Écrire une table de conversion binaire/décimal/hexadécimal pour les 16 premiers
nombres et la liste des puissances de 2 jusqu’à 212 .

Exercice 1.3. Conversions


1. Comment convertir un nombre binaire en base 10 ?
2. Et dans l’autre sens (décimal vers binaire) ?
3. Mêmes questions entre les nombres décimaux et hexadécimaux.
4. Remplir le tableau suivant en effectuant les conversions nécessaires.
binaire 10 1101010
décimal 16 255
hexadécimal 31 100 7B9A

Exercice 1.4. Déduire de l’exercice précédent une méthode “simple” pour effectuer les conversions
binaire ↔ hexadécimal. Convertir 9F 5BC416 en binaire et 110 1101 1000 0010 11102 en hexadécimal.

Exercice 1.5. Nombres à virguleF


La valeur décimale d’un nombre binaire 0, d1 d2 d3 . . . dn est donnée par : d21 + d42 + d83 + · · · + d2nn .
Pour convertir un nombre décimal à virgule en binaire, on distingue la partie entière du nombre
(les chiffres à gauche de la virgule) et sa partie fractionnaire (les chiffres après la virgule). Ensuite,
on procède en 2 étapes : on commence par convertir la partie entière comme d’habitude, puis on
traite la partie fractionnaire avec l’algorithme suivant :

tant que la partie fractionnaire n’est pas nulle, faire


la multiplier par 2
garder la partie entière obtenue
recommencer avec la nouvelle partie fractionnaire

Exemple pour 0, 125 :


0, 125 × 2 = 0, 250 → on garde 0 et on continue avec 0,250
0, 25 × 2 = 0, 50 → on garde 0 et on continue avec 0,50
0, 5 × 2 = 1, 0 → on garde 1 et on s’arrête car la partie fractionnaire est 0

Résultat : 0, 125 = 0, 0012 .


1. Convertir 42, 3437510 en binaire.
2. Expliquer pourquoi ça marche.
3. Convertir 68, 710 en binaire. Que remarque-t-on ?
4. Comment faire la conversion dans l’autre sens ?
5. Convertir le nombre binaire 10, 0101 en décimal.

2 Arithmétique binaire (ou les rappels de l’école primaire...)

Exercice 2.1. Réaliser les opérations binaires suivantes (convertir en base 10 pour vérifier) :
• 1000 + 0010
• 1101000 + 10110
• 1001000 + 1011001 Que se passe-t-il si on ne dispose que de 7 bits ?
• 101101 - 10100
• 10100 - 1111
• 1100000001 × 10110111
• 1100101010 / 1001
• 101010 / 101

Exercice 2.2. Donner une méthode rapide pour multiplier un nombre binaire par 2. Et pour
multiplier par 2k ? Et pour diviser ?

Page 2