STRUCTURE DES ORDINATEURS - Binaire et Hexadécimal -

Documents pareils
Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Conversion d un entier. Méthode par soustraction

Représentation d un entier en base b

Cours Informatique 1. Monsieur SADOUNI Salheddine

Représentation des Nombres

Chapitre 10 Arithmétique réelle

V- Manipulations de nombres en binaire

Logiciel de Base. I. Représentation des nombres

Glossaire des nombres

Informatique Générale

Jeux de caracte res et encodage (par Michel Michaud 2014)

Algorithme. Table des matières

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

Le chiffre est le signe, le nombre est la valeur.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Chapitre 1 I:\ Soyez courageux!

Par combien de zéros se termine N!?

Introduction à l algorithmique et à la programmation (Info 2)

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Licence Sciences et Technologies Examen janvier 2010

Codage d information. Codage d information : -Définition-

IFT2880 Organisation des ordinateurs et systèmes

I- Définitions des signaux.

Une version javascript sera disponible directement dans le cours prochainement.

Bases de programmation. Cours 5. Structurer les données

Rappels Entrées -Sorties

a) b)

Définition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro.

1 Introduction au codage

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Créer une base de données

Projet Matlab : un logiciel de cryptage

Les opérations binaires

TP 1 : 1 Calculs en binaire, octal et hexadécimal

La question est : dans 450 combien de fois 23. L opération est donc la division. Le diviseur. Le quotient

Le codage informatique

Série TD 3. Exercice 4.1. Exercice 4.2 Cet algorithme est destiné à prédire l'avenir, et il doit être infaillible! Exercice 4.3. Exercice 4.

Le poids et la taille des fichiers

Puissances d un nombre relatif

Priorités de calcul :

UNITÉS ET MESURES UNITÉS DE MESURE DES LONGUEURS. Dossier n 1 Juin 2005

Exercices de dénombrement

Vers l'ordinateur quantique

Structure du format BMP, sa lecture, sa construction et son écriture

Programmation C. Apprendre à développer des programmes simples dans le langage C

Chap17 - CORRECTİON DES EXERCİCES

La mémoire. Un ordinateur. L'octet. Le bit

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Petit lexique de calcul à l usage des élèves de sixième et de cinquième par M. PARCABE, professeur au collège Alain FOURNIER de BORDEAUX, mars 2007

IV- Comment fonctionne un ordinateur?

Logiciel Libre Cours 3 Fondements: Génie Logiciel

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

Nouveau Barème W.B.F. de points de victoire 4 à 48 donnes

Architecture de l ordinateur

Initiation au binaire

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

avec des nombres entiers

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»


Architecture des ordinateurs Introduction à l informatique

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Le multiplexage. Sommaire

CODAGE DES SMS. 2 Commandes «AT» 25 3 Matériels utilisés 55 4 Interfacer un téléphone GSM 73 5 Réalisations électroniques 101

Assembleur i8086. Philippe Preux IUT Informatique du Littoral. Année universitaire 95 96

D'UN THÉORÈME NOUVEAU

Continuité en un point

Mathématiques appliquées à l informatique

Activité 4. Tour de cartes Détection et correction des erreurs. Résumé. Liens pédagogiques. Compétences. Âge. Matériels

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

THEME : CLES DE CONTROLE. Division euclidienne

Structures algébriques

Architecture matérielle des systèmes informatiques

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

FctsAffines.nb 1. Mathématiques, 1-ère année Edition Fonctions affines

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Raisonnement par récurrence Suites numériques

SCOLASYNC : Logiciel de gestion de flotte de «supports USB», synchronisation de fichiers.

B = A = B = A = B = A = B = A = Recopier sur la copie chaque expression numérique et la réponse exacte. Réponse A Réponse B Réponse C Solution

Complément d information concernant la fiche de concordance

Continuité et dérivabilité d une fonction

Image d un intervalle par une fonction continue

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

EVALUATIONS MI-PARCOURS CM2

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

Les bases de données Page 1 / 8

Carl-Louis-Ferdinand von Lindemann ( )

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

ET LO GICIEL D UN S YS T EME IN FORMATIQUE

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R

LES NOMBRES DECIMAUX. I. Les programmes

Unités, mesures et précision

UFR de Mathématiques et Informatique Année 2009/2010. Réseaux Locaux TP 04 : ICMP, ARP, IP

A.Mon ordinateur a-t-il une carte réseau?

Bases de données documentaires et distribuées Cours NFE04

ALGORITHMIQUE ET PROGRAMMATION En C


Compter à Babylone. L écriture des nombres

Transcription:

ENSEIGNEMENT DE PROMOTION SOCIALE Cours de STRUCTURE DES ORDINATEURS - Binaire et Hexadécimal - H. Schyns Septembre 2005

Sommaire Sommaire 1. LE SYSTÈME DÉCIMAL 1.1. Les nombres entiers 1.2. Les nombres décimaux 2. LE SYSTÈME BINAIRE 2.1. Les nombres entiers 2.2. Les nombres fractionnaires 3. LE SYSTÈME HEXADÉCIMAL 3.1. Origine et symbôles 3.2. Codage et décodage EXERCICES DU CHAPITRE Exercice 1 Exercice 2 Exercice 3 Exercice 4 Exercice 5 H. Schyns S.1

1 - Le système décimal 1. Le système décimal 1.1. Les nombres entiers Apprendre à compter est l'une des premières victoires du jeune enfant. C'est aussi l'un des signes les plus facilement mesurables de son évolution intellectuelle. Depuis notre plus jeune âge, nous sommes donc entraînés à jouer avec les nombres et avec leur notation décimale. La notation décimale, ou système décimal, utilise dix signes pour représenter les nombres : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. C'est une notation de position, ce qui signifie que la valeur d'un chiffre dépend de la position qu'il occupe dans le nombre. Ainsi, le chiffre 3 dans 6523 représente 3 unités alors que, dans 3256, il représente 3 milliers. 6523 = 6 1000 + 5 100 + 2 10 + 3 1 En utilisant les notations en puissance, on a : 6523 = 6 10 3 + 5 10 2 + 2 10 1 + 3 10 0 Ecrit sous cette forme, le nombre 6523 apparaît comme la suite des coefficients d'un polynôme du troisième degré dans lequel 10 prend la place du "x" traditionnel : n = 6 x 3 + 5 x 2 + 2 x 1 + 3 x 0 On peut retrouver les chiffres successifs d'un nombre décimal en divisant par 10 et en notant chaque fois le reste de la division : 6523 3 652 2 65 5 6 6 0 Notez que les chiffres qui constituent le nombre de gauche à droite se retrouvent de bas en haut (et le plus grand chiffre que l'on puisse écrire sur 4 positions est 9999). Réciproquement, puisque le nombre est l'expression d'un polynôme dans lequel x vaut 10, on peut utiliser la technique de Horner pour le reconstituer. On construit un tableau de trois lignes et d'autant de colonnes qu'il y a de termes dans le polynôme (ici 4). On note la suite des coefficients dans la première ligne. Dans chaque colonne, la troisième cellule est la somme des deux cellules situées au-dessus (flèche verticale). La deuxième cellule d'une colonne est le produit de la cellule inférieure de la colonne précédente et de la valeur donnée à "x" (ici 10) : 6 5 2 3 10 60 650 6520 6 65 652 6523 H. Schyns 1.1

1 - Le système décimal 1.2. Les nombres décimaux Les nombres décimaux contiennent un certain nombre de chiffres, appelés décimales, situés à la droite d'une virgule qui indique la position des unités. Ainsi, le nombre 6523,479 contient une partie entière (6523) et une partie décimale (0,479). La partie décimale est aussi appelée partie fractionnaire car elle peut se mettre sous la forme d'une fraction (au moins de manière approchée) : 0.479 = 479 1000 Notez que le dénominateur compte autant de zéros qu'il y a de chiffres après la virgule. Comme pour la partie entière, lorsque l'on se dirige vers la droite, chaque rang représente un coefficient de 10 dix fois plus petit que celui du rang précédent : 0,479 = 4 0,1 + 7 0,01 + 9 0,001 1 1 0,479 = 4 + 7 + 9 10 100 En utilisant les notations en puissance, on a : 1 1000 0.479 = 4 10-1 + 7 10-2 + 9 10-3 On peut retrouver les chiffres successifs de la partie fractionnaire d'un nombre décimal en multipliant par 10 et isolant chaque fois le nombre qui passe devant la virgule : 0 479 4 79 7 9 9 Notez que les chiffres qui constituent le nombre de gauche à droite se retrouvent de haut en bas. Tout ceci peut sembler trivial et inutile et pourtant, ce sont exactement les mêmes mécanismes qui nous allons mettre en œuvre pour les notations binaire et hexadécimale. H. Schyns 1.2

2 - Le système binaire 2. Le système binaire 2.1. Les nombres entiers Alors que le système décimal utilisait dix signes pour représenter les nombres, le système binaire n'en compte plus que deux : 0, 1. Il s'agit toujours d'une notation de position, mais les différents rangs représentent maintenant les puissances successives de 2 : 1011011 = 1 2 6 + 0 2 5 + 1 2 4 + 1 2 3 + 0 2 2 + 1 2 1 + 1 2 0 1011011 = 1 64 + 0 32 + 1 16 + 1 8 + 0 4 + 1 2 + 1 1 1011011 = 64 + 16 + 8 + 2 + 1 = 91 Chaque position d'un nombre binaire s'appelle un bit. Le nombre 1011011 est un nombre de 7 bits. Le nombre 1011011 peut aussi être vu comme la suite des coefficients d'un polynôme du sixième degré dans lequel c'est la valeur 2 qui prend cette fois la place du "x" traditionnel : n = 1 x 6 + 0 x 5 + 1 x 4 + 1 x 3 + 0 x 2 + 1 x 1 + 1 x 0 Transformer un nombre décimal en nombre binaire est un jeu d'enfant : il suffit de le diviser successivement par 2 en notant à chaque étape le reste de la division. En d'autres mots, il suffit de noter 1 si le nombre que l'on s'apprête à diviser est impair et 0 s'il est pair : 91 1 45 1 22 0 11 1 5 1 2 0 1 1 0 Les chiffres qui constituent le nombre binaire de gauche à droite se retrouvent de bas en haut, exactement comme dans la décomposition décimale faite au point précédent : 91 = 1011011 De même, puisque tout nombre binaire est l'expression d'un polynôme dans lequel x vaut 2, on peut utiliser la technique de Horner pour reconstituer sa valeur décimale : 1 0 1 1 0 1 1 2 2 4 10 22 44 90 1 2 5 11 22 45 91 Le plus grand chiffre que l'on puisse écrire dans un octet ou byte est : 11111111 = 255 = 2 8-1 H. Schyns 2.1

2 - Le système binaire 2.2. Les nombres fractionnaires Les nombres binaires peuvent aussi comprendre une partie fractionnaire située après la virgule : 1011011,10011 Pour ramener la partie fractionnaire, située derrière la virgule, dans une forme décimale, il suffit de se souvenir qu'elle peut aussi se mettre sous la forme d'une fraction. Le dénominateur compte autant de zéros qu'il y a de chiffres après la virgule, exactement comme dans le cas du nombre décimal, mais cette fois, il s'agit d'un nombre binaire : 10011b 0,10011 = 100000 b 19 = 32 d d = 0,59375 En effet, lorsque l'on se dirige vers la droite, chaque rang représente un coefficient de 2 deux fois plus petit que celui du rang précédent : 1 1 1 1 0,10011 = 1 + 0 + 0 + 1 + 1 2 4 8 16 En utilisant les notations en puissance, on a : 1 32 0,10011 = 1 2-1 + 0 2-2 + 0 2-3 + 1 2-4 + 1 2-5 Transformer la partie fractionnaire d'un nombre décimal en binaire n'est pas plus compliqué que dans le cas de la partie entière. Il suffit de multiplier la partie décimale par 2, d'isoler chaque fois la partie qui passe devant la virgule et de reprendre l'opération avec la nouvelle partie fractionnaire : 0 59375 1 1875 0 3750 0 7500 1 5000 1 0000 Les chiffres binaires qui constituent la partie fractionnaire de gauche à droite se retrouvent de haut en bas, exactement comme dans la décomposition décimale faite au point précédent : 0,59375 d = 0,10011 b Par conséquent, pour transformer un nombre décimal tel que 91,59375 en binaire, il suffit de convertir la partie entière d'une part, la partie décimale d'une autre et de recoller les deux morceaux : 91,59375 d = 91 d + 0,59375 d = 1011011 b + 0,10011 b = 1011011,10011 b Notons qu'il est assez rare qu'un nombre décimal se transforme en un nombre fini de "décimales binaires". En général, on tombe sur une forme périodique infinie. Un exemple remarquable est la conversion de 0,1 d : 0 1 0 2 0 4 0 6 1 2 0 4 0 8 1 6 1 2 H. Schyns 2.2

2 - Le système binaire 0,1 d = 0,000100110011001100110011001 b Ceci vient du fait, que hormis 1, il n'y a aucune puissance de 10 qui corresponde exactement à une puissance de 2. H. Schyns 2.3

3 - Le système hexadécimal 3. Le système hexadécimal 3.1. Origine et symbôles Le système binaire est pratique du point de vue technique : chaque bit peut être facilement traduit dans un langage électrique (courant circule ou non, lampe allumée ou non, condensateur chargé ou non, etc.) ou dans un langage magnétique (aimantation N-S ou S-N) ce qui en fait le système de codage de prédilection du monde informatique. Malheureusement, l'écriture d'un nombre binaire prend beaucoup de place et sa lecture par l'œil humain n'est pas très commode et présente de grands risques d'erreur. On s'est donc tourné vers un système plus compact : le système hexadécimal. Le système hexadécimal utilise 16 chiffres pour coder les nombres : avec 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F A = 10 B = 11 C = 12 D = 13 E = 14 F = 15 Pourquoi avoir choisi A..F pour représenter 10..15? Parce que dans un système de notation de position, chaque chiffre ne peut utiliser qu'un seul rang alors que 10..15 en occupent deux. Sinon, en lisant le nombre 12345, le lecteur ne saurait pas s'il doit lire 1_2_3_4_5 ou 12_03_04_05. 3.2. Codage et décodage Transformer un nombre binaire (entier) en nombre hexadécimal est un jeu d'enfant : il suffit de grouper les bits par paquets de 4 en commençant par le point décimal et en se dirigeant vers la gauche (on ajoute éventuellement des zéros pour remplir le paquet le plus à gauche). On code ensuite chaque paquet : 91 =1011011 91 = 0101 1011 91 = 5B h Dans cet exemple, 0101 est le code binaire de 5 tandis que 1011 représente la valeur décimale 11, soit B en hexadécimal. Tout informaticien digne de ce nom à intérêt à apprendre par cœur la table suivante : Déc Hex Bin Déc Hex Bin 0 0 0000 8 8 1000 1 1 0001 9 9 1001 2 2 0010 10 A 1010 3 3 0011 11 B 1011 4 4 0100 12 C 1100 5 5 0101 13 D 1101 6 6 0110 14 E 1110 7 7 0111 15 F 1111 H. Schyns 3.1

3 - Le système hexadécimal Comme chaque byte ou octet est un groupe de 8 bits et que la notation hexadécimale utilise des groupes de 4 bits, on peut mettre deux chiffres hexa dans un byte. Le plus grand chiffre hexa que l'on puisse écrire dans byte est : FF = 255 = 16 2-1 Pour la partie fractionnaire, on suit presque le même principe : part du point décimal et on se dirige vers la droite en faisant des paquets de 4 bits. On ajoute éventuellement des zéros pour remplir le paquet le plus à droite : De la même manière 0,10011 b = 0,1001 1000 = 0,98 h 91,59375 d = 5B,98 h Puisque tout nombre hexadécimal est l'expression d'un polynôme dans lequel x vaut 16, on peut aussi utiliser la technique de Horner pour reconstituer la valeur décimale : Hex 5 B Déc 5 11 16 80 5 91 5B = 5 16 1 + B 16 0 Pour la partie située derrière la virgule, on se ramène à l'expression fractionnaire : 0,98 98h = 100 152 = 256 d h = h d 0,59375 Une petite note philosophique pour terminer : si vous avez un enfant en âge d'école en train d'étudier ses tables de multiplications, soyez patient et indulgent. Vous pouvez facilement vous rendre compte de l'effort intellectuel que ça représente pour lui : essayez un peu d'apprendre par cœur les tables de multiplications hexadécimales pour voir! A titre d'exemple, voici les premières mais il y en a 16 en tout. 1 x 2 = 2 1 x 3 = 3 1 x 4 = 4 1 x 5 = 5 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = A 3 x 2 = 6 3 x 3 = 9 3 x 4 = C 3 x 5 = F 4 x 2 = 8 4 x 3 = C 4 x 4 = 10 4 x 5 = 14 5 x 2 = A 5 x 3 = F 5 x 4 = 14 5 x 5 = 19 6 x 2 = C 6 x 3 = 12 6 x 4 = 18 6 x 5 = 1E 7 x 2 = E 7 x 3 = 15 7 x 4 = 1C 7 x 5 = 23 8 x 2 = 10 8 x 3 = 18 8 x 4 = 20 8 x 5 = 28 9 x 2 = 12 9 x 3 = 1B 9 x 4 = 24 9 x 5 = 2D A x 2 = 14 A x 3 = 1E A x 4 = 28 A x 5 = 32 B x 2 = 16 B x 3 = 21 B x 4 = 2C B x 5 = 37 C x 2 = 18 C x 3 = 24 C x 4 = 30 C x 5 = 3C D x 2 = 1A D x 3 = 27 D x 4 = 34 D x 5 = 41 E x 2 = 1C E x 3 = 2A E x 4 = 38 E x 5 = 46 F x 2 = 1E F x 3 = 2D F x 4 = 3C F x 5 = 4B 10 x 2 = 20 10 x 3 = 30 10 x 4 = 40 10 x 5 = 50 Ceci dit, la calculatrice de Windows effectue sans problèmes toutes les opérations et conversions décimales, binaires, octales (base 8) et hexadécimales entières à condition de demander l'affichage scientifique. H. Schyns 3.2

Exercices du chapitre Exercices du chapitre Exercice 1 En vous servant de vos 10 doigts et en utilisant la notation binaire, jusqu'à quel nombre pouvez-vous compter? Exercice 2 Ecrire les nombres suivants en notation binaire puis en notation hexadécimale : 8, 15, 64, 123, 250, 6485, 31845 Exercice 3 Ecrire les nombres hexadécimaux suivants en notation décimale : 7F, A0, 200, 67CC, BA21, EDCBA Exercice 4 Quel est le plus grand nombre hexadécimal (et sa valeur décimale) que l'on peut écrire dans un byte, un mot, un double mot? Exercice 5 Démontrer que tous les nombres binaires qui se terminent par 000 sont divisibles par 8 et que tous les nombres hexadécimaux qui se terminent par 00 sont divisibles par 256. H. Schyns 3.3