NUMERATION 1/18 SOMMAIRE AUTOMATIQUE



Documents pareils
Conversion d un entier. Méthode par soustraction

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

Informatique Générale

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

Logiciel de Base. I. Représentation des nombres

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

Représentation d un entier en base b

Représentation des Nombres

Chapitre 10 Arithmétique réelle

I- Définitions des signaux.

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Architecture de l ordinateur

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

V- Manipulations de nombres en binaire

Algorithme. Table des matières


1 Introduction au codage

Rappels Entrées -Sorties

IFT2880 Organisation des ordinateurs et systèmes

Licence Sciences et Technologies Examen janvier 2010

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

THEME : CLES DE CONTROLE. Division euclidienne

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

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

Glossaire des nombres

Une version javascript sera disponible directement dans le cours prochainement.

Les opérations binaires

Le codage informatique

Chap17 - CORRECTİON DES EXERCİCES

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

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

Système binaire. Algèbre booléenne

Chapitre 1 I:\ Soyez courageux!

Technique opératoire de la division (1)

Continuité et dérivabilité d une fonction

NanoSense. Protocole Modbus de la sonde Particules P4000. (Version 01F)

a) b)

DM 1 : Montre Autoquartz ETA

Architecture des ordinateurs Introduction à l informatique

Acquisition et conditionnement de l information Les capteurs

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

Introduction à l étude des Corps Finis

Puissances d un nombre relatif

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

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

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

TD : Codage des images

Priorités de calcul :

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

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

EXERCICES DE REVISIONS MATHEMATIQUES CM2

Concevoir son microprocesseur

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 =

Cours Informatique 1. Monsieur SADOUNI Salheddine


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

Chapitre 13 Numérisation de l information

Compter à Babylone. L écriture des nombres

Projet Matlab : un logiciel de cryptage

Transmissions série et parallèle

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

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

RESUME DE COURS ET CAHIER D'EXERCICES

UE Programmation Impérative Licence 2ème Année

TP Codage numérique des caractères. Un ordinateur ne manipule que des 0 et des 1 : Comment alors code-t-il du texte?

Transmission de données. A) Principaux éléments intervenant dans la transmission

Comparaison de fonctions Développements limités. Chapitre 10

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Architecture matérielle des systèmes informatiques

Chapitre 11. Séries de Fourier. Nous supposons connues les formules donnant les coefficients de Fourier d une fonction 2 - périodique :

Activité 1. Compter les points Écriture binaire des nombres. Résumé. Liens pédagogiques. Compétences. Âge. Matériel

I.1- DÉFINITIONS ET NOTIONS DE BASE

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

Microprocesseur + Logiciel

Diviser un nombre décimal par 10 ; 100 ; 1 000

Continuité en un point

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Fonctions de plusieurs variables

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Le multiplexage. Sommaire

Initiation au binaire

2.4 Représentation graphique, tableau de Karnaugh

CONFIGURATION DE L AUTOMATE SIEMENS

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

Numérisation du signal

CHAPITRE V. Théorie de l échantillonnage et de la quantification

Exercices de dénombrement

EVALUATIONS MI-PARCOURS CM2

COMMUNICATION ENTRE DEUX ORDINATEURS PAR LASER MODULE EN CODE MORSE OU BINAIRE.

Licence Sciences, Technologies, Santé Mention Informatique Codage de l'information

Dérivation : Résumé de cours et méthodes

DOCM Solutions officielles = n 2 10.

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

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

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

Transcription:

/8 SOMMAIRE AUTOMATIQUE ) Objectifs...2 2 ) Les nombres en base décimale ( base )...2 2. ) Naturels, relatifs et décimaux ( avec virgule )...2 2.2 ) Base, rang et poids...2 2.3 ) Représentation polynomiale...3 3 ) Les codes binaires pondérés...3 3. ) Codage des entiers naturels...3 3.. ) Le système binaire naturel...3 3..2 ) Le système octal...4 3..3 ) Le système hexadécimal...5 3..4 ) Le BCD...5 3..5 ) Changements de base...6 3.2 ) Codage des entiers relatifs...8 3.2. ) Le complément à deux ( CPL2 ) et le binaire signé...8 3.2.2 ) Addition et soustraction d entiers relatifs... 3.2.3 ) Multiplication et division... 3.3 ) Codage des nombres à virgule...2 4 ) Autres codes usuels...4 4. ) Le code GRAY...4 4.2 ) Le code ASCII...6 4.3 ) Les codes à détection d erreur...8 4.4 ) Les codes barres...8

2/8 ) Objectifs A l issue de ce cours, vous connaîtrez les principaux codages utilisés en programmation : binaire hexadécimal BCD Virgule flottante ASCII D autres codages seront abordés : Gray ASCII Détection d erreur CODE BARRE 2 ) Les nombres en base décimale ( base ) Tels Monsieur Jourdain, vous pratiquez la base sans le savoir. 2. ) Naturels, relatifs et décimaux ( avec virgule ) Nous nous intéresserons à trois ensembles de nombres : les entiers naturels {,, 2, 3, } les entiers relatifs {, -2, -,,, 2, 3, } les nombres à virgule 2.2 ) Base, rang et poids La BASE d un système de numération est la quantité de symboles différents qu utilise ce système. En base, les symboles disponibles sont {,, 2, 3, 4, 5, 6, 7, 8, 9}. Chaque chiffre a un POIDS selon son RANG. Ainsi dans le nombre à virgule 9486,25 9 est le chiffre des milliers, de poids 3, etc. rang Poids 3 Millier 3 = 2 Centaine 2 = Dizaine = Unité = - Dixième =, -2 Centième 2 =,

2.3 ) Représentation polynomiale NUMERATION Tout nombre en base peut s écrire sous la forme d un polynôme : Soit N, un nombre entier de n chiffres N = an an 2... a2aa n i= i N = a i B Avec i : rang du chiffre B : base de numération a i : chiffre compris entre et 9 Ainsi la décomposition polynomiale de 42,3 est : 42,3 = a 3 3 + a 2 2 + a + a + a - - avec a 3 = 4, a 2 = 2, a =, a =, et a - = 3. Exercice : Donner la représentation polynomiale de N = 5 67 22 3/8 On donne a 7 = 3, a 4 = 2, les autres chiffres étant nuls. Que vaut N? 3 ) Les codes binaires pondérés 3. ) Codage des entiers naturels Il s agit des nombres entiers positifs à partir de : {,, 2, 3, }. 3.. ) Le système binaire naturel En base 2, les symboles disponibles sont {,}. L élément le plus simple est le BINARY DIGIT, appelé communément le BIT. Il ne prend que les deux valeurs et. La représentation usuelle en programmation est sur 8 bits, aussi appelé octet. Le poids de chaque chiffre est alors compris entre 2 7 et 2 : 2 7 2 6 2 5 2 4 2 3 2 2 2 2 28 64 32 6 8 4 2 Le bit de gauche est le MSB : Most Significant Bit, bit de poids fort Celui de droite est le LSB : Least Significant Bit, bit de poids faible. Ces huit bits forment un OCTET : Byte en anglais. Avec un octet, on peut coder des entiers naturels de à 255.

4/8 n n En base B avec n chiffres, on peut écrire B nombres différents de à B Selon l environnement de travail utilisé (programmation en Assembleur, en Basic, en langage C, ) plusieurs notations existent pour identifier un nombre écrit en base 2 : (2) = % = B Exercice : Compléter le tableau base Binaire naturel sur 8 bits % 2 3 4 5 6 7 8 9 2 3 4 5 6 % 7 Remarque : Avec 8 bits, La valeur maxi est 255. 256 et plus s écrivent alors avec un 9 e bit à ( appelé aussi bit de retenue ) 32 64 27 28 29 255 % 3..2 ) Le système octal L octal est la base 8. Les symboles disponibles sont {,, 2, 3, 4, 5, 6, 7}.

Dans ce système, le poids est une puissance de 8. 5/8 Exemple : N = 6548 (8) 3 2 N = 6 8 + 5 8 + 4 8 + 8 8 N = 3432 () Pour reconnaître un nombre en octal, plusieurs notations existent : 75 (8) = @75 = 75Q = 75 Dans la pratique, ce système est rarement rencontré. 3..3 ) Le système hexadécimal Le système hexadécimal est la base 6. Les symboles disponibles sont {,, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}. Les lettres A à F correspondent aux nombres à 5 en base. Dans ce système, le poids est une puissance de 6. Exemple : N = AC53 (6) 3 2 N = A 6 + C 6 + 5 6 + 3 6 3 2 N = 6 + 2 6 + 5 6 + 3 6 N = 445 () Selon l environnement de travail utilisé (programmation en assembleur, en basic, en C, ), plusieurs notations existent pour identifier un nombre écrit en base 6 : F6B (6) = $F6B = F6BH = xf6b Exercice : N = F5D3 (6) = N = FB (6) = 3 2 N = 6 + 2 6 + 5 6 + 3 6 = 3..4 ) Le BCD Le BCD (Binary Coded Decimal) est un système intermédiaire entre la base et le binaire : chaque chiffre de la base est codé sur 4 bits. Exemple : 9847 () s écrit (BCD). Les codes binaires compris entre (2) et (2) n existent pas en BCD.

6/8 Exercice : Dans un automate programmable industriel, la date et l heure sont disponibles en mémoire au format BCD. Le jour est écrit sur 4 octets selon le format JJMMAAAA. L heure est sur 3 octets selon le format HHMMSS. Que contiendrait ces 7 octets à l instant présent? 3..5 ) Changements de base 3..5. ) Tableau de correspondance Le tableau des correspondances entre les quatre principaux systèmes, décimal / binaire / hexadécimal / BCD, est à connaître parfaitement. Base Binaire (base 2 ) Hexadécimal (base 6 ) BCD % $ 2 3 4 5 6 7 8 9 2 3 4 5 6 % $ % 7

7/8 3..5.2 ) Conversion du décimal vers une autre base Un nombre N étant donné en base, comment trouver son écriture dans une base B quelconque? Les deux méthodes proposées effectuent des divisions euclidiennes successives. Première méthode ( par soustraction ) : du poids fort vers le poids faible Nous allons convertir N = 3786 () en hexadécimal (base 6). Le première division est par la puissance de 6 la plus élevée présente dans N. La plus grande puissance de 6 contenue dans N est 6 2. En effet, 6 2 = 256 < N et 6 3 = 496 > N. La division euclidienne de N par 6 2 montre que N = 4 6 2 + 22. Il reste 22. La division euclidienne du reste précédent par 6 montre que 22 = 2 6 +. 2 En résumé, nous avons N = 4 6 + 2 6 + 6, 2 Ou encore N = E 6 + C 6 + A 6, Donc N = ECA (6) Deuxième méthode ( par division ) : du poids faible vers le poids fort Nous allons à nouveau convertir N = (3786) en hexadécimal (base 6). Ici, nous enchaînons les divisions par 6. Après trois divisions successives par 6, le quotient est inférieur au diviseur donc on arrête les divisions. Il vient : 2 N = 4 6 + 2 6 + 6, Donc N = ECA (6) Exercice : a) traduire en hexadécimal 4, 73, 625, 28 et 23222 b) ramener en base les nombres $23, $, $A, $BC, $FE

3..5.3 ) Autres conversions Les conversions entre bases binaires, octales et hexadécimales se font directement de droite à gauche par paquets de 3 ou 4 bits. conversion d octal à binaire : @57 = % conversion de binaire à octal : % = @274 conversion d hexadécimal en binaire : $FC = % conversion de binaire en hexadécimal : % = $3B 8/8 B= 2 k 2 codage de chaque chiffre de la base B en binaire sur k bits 2 B= 2 k regroupement de k bits écrit en base B Mise en forme : Puces et numéros Pour s entraîner aux conversions, voir les exercices page 8 du livre ELECTRONIQUE NUMERIQUE 3.2 ) Codage des entiers relatifs Il s agit des nombres entiers signés ( binaire signé ). 3.2. ) Le complément à deux ( CPL2 ) et le binaire signé Pour coder les entier relatifs, on opère comme suit Soit N, un nombre entier relatif de n bits N = an an 2... a2aa Son codage en binaire signé répond à la relation n 2 n i n 2 + ai 2 i= N = a Compléter le tableau base Binaire signé sur 8 bits Hexadécimal signé sur 2 chiffres -28 $8 (HS) -27-3 -2 - (HS) 2 3 27 7F (HS)

9/8 Le bit de poids fort renseigne sur le signe du nombre : c est le BIT DE SIGNE. Il est à pour les nombres négatifs. Exercice Un entier signé codé sur un octet (8 bits) peut prendre des valeurs entre 28 (8 (HS).) et 27 (7F (HS).). Quelles seront les valeurs possibles sur deux octets (6 bits)? Et sur quatre octets (32 bits)? Pour passer de N à -N (BS ) et réciproquement, on peut utliser la méthode du COMPLEMENT A 2 (CPL2). Chercher le CPL2 d un nombre binaire signé revient à changer son signe : CPL2[+N ]= N CPL2[-N ]=+N [ N ]=+N Deux opérations sont nécessaires : Complémenter tous les bits ( ) Ajouter (addition en binaire) Exemple : recherche du codage hexadécimal signé de ( 7) Le codage binaire signé de +7 est.. Son complément bit à bit est %. On ajoute : % + % = %. Résultat : 7 =. = EF (HS). Ce codage a la propriété d être cyclique. Dernière propriété du codage CPL2 : il permet l addition d entiers signés (voir plus loin). Exercice : vérifiez que le codage hexadécimal signé de ( 7) = EF (HS). est bien (+7)

/8 3.2.2 ) Addition et soustraction d entiers relatifs Sous réserve de dépassement de capacité, l addition d entiers signés est immédiate si les nombres négatifs sont codés en CPL2. La soustraction consiste à ajouter le CPL2 du nombre. Le bit de signe renseigne sur la polarité du résultat. Addition de deux nombres positifs + = ( + 7) = ( + 2) = ( + 29) = Addition de deux nombres de signes contraires + = ( + 7) = ( 2) = ( + 29) = Addition de deux nombres négatifs + = + ( + 7) = ( 33) = (-6) = ( 2) = ( 33) = ( 45) = Pour s entraîner au CPL2, voir les exercices 8, 9 et, page 8 du livre ELECTRONIQUE NUMERIQUE

/8 3.2.3 ) Multiplication et division L opération (X) (Y) entre deux entiers positifs se pose comme une multiplication traditionnelle en base, avec les règles suivantes : = = = = Pour des entiers négatifs, il sera nécessaire de les changer de signes avant d effectuer l opération et, le cas échéant, de prendre le CPL2 du résultat. La division est identique à une division euclidienne entre deux entiers positifs en base. Pour des entiers négatifs, l approche est similaire à celle de la multiplication. Il est nécessaire de les changer de signe et, selon les cas, de prendre le CPL2 du résultat.

2/8 3.3 ) Codage des nombres à virgule 3.3. ) Virgule flottante Les nombres à virgule sont décomposés en une mantisse et un exposant. Exemples en base : 72 =,72 2 mantisse,72 exposant 2,3 =,3 mantisse,3 exposant négatif 25 =,25 3 mantisse négative,25 exposant 3 La représentation binaire des nombres à virgule est très variable d un environnement de programmation à l autre. Pour information, voici la représentation sur 4 octets en ANSI C du type Float : - bit de signe de la mantisse - 23 bits de mantisse - bit de signe de l exposant - 7 bits d exposant Avec ce codage, les valeurs extrêmes sont approximativement ± 3,4 ±38 3.3.2 ) Nombre fractionnaires Nous nous intéressons ici au codage des nombres à virgule compris entre et ( < N < ), tels que les mantisses vues précédemment. En base, nous savons décomposer un tel nombre et le mettre sous forme de fraction. Exemple: N=,8273 = 8 + 2 2 + 7 Plus généralement, dans une base B quelconque : Soit N =, a a a... a 2 3 n (B) La partie fractionaire est égale à a i B n i= Où a i est un chiffre tel que B a i i 3 + 3 4 = 8273 2 3 4 Ainsi en base 2: N=, (2) = 2 + 2 + 2 + 2 = =, 6875 6

3/8 Comment convertir un nombre fractionnaire de la base à la base B? Avec des nombres entiers, nous avions procédé par divisions successives. Ici, nous opérerons par multiplications successives pour faire apparaître les éléments a i. Exemple : Convertir N =,7245 () en hexadécimal sur 4 octets,7245 6 = l,5432 a l = B,5432 6 = 8,692 a = 2 8,692 6 = l,592 a 3 = B,592 6,9472 a 4,9472 6 5,552 a 5 F,552 6 = 2,4832 a 6 = 2,4832 6 = 7,732 a = 7 7,732 6 = l,6992 a = 8 B $B8BF27B 3986455 N =,B8BF27B (6) = = =,7244999 8 $ 6 Exercice ) Convertir en binaire sur 8 bits des nombres fractionnaires N=,7 N=,7 2) N =,7245 () en hexadécimal sur 4 octets 2) Convertir en décimal le nombre fractionnaire N=,243F6A8A (6)

4/8 4 ) Autres codes usuels 4. ) Le code GRAY Le code binaire que nous avons vu jusqu à maintenant s appelle code binaire naturel. Il existe de nombreux autres codes dont le code GRAY ( code binaire réfléchi ). Dans les conversions d une grandeur analogique (par exemple la position d un axe d un moteur) en une grandeur numérique on a besoin d un code dans lequel les grandeurs successives ne diffèrent que d un bit. Cela évite des erreurs de détections. Ainsi, au passage de 7 à 8, les quatre bits changent. S ils ne changent pas en même temps, on détectera des valeurs intermédiaires erronées : Binaire entier GRAY B 3 B 2 B B G 3 G 2 G G 2 3 4 5 6 7 8 9 2 3 4 5 6 Le code GRAY est aussi appelé code binaire réfléchi : en effet, de nombreuses symétries horizontales apparaissent dans le tableau. Pour construire une suite de nombres en code GRAY, il suffit de remarquer que pour obtenir la première colonne du tableau (G ), nous avons écrit un fois deux fois deux fois et faire une observation similaire pour G, ( Axes de symétries )

5/8 Exercices : a) Combien de cercles sur ce codeur de position angulaire absolu? b) Conversion de code binaire vers code Gray : Exprimer G 3 en fonction de B 3 Exprimer G 2 en fonction B 3 et B 2 Exprimer G en fonction B 2 et B Exprimer G en fonction B et B c) Conversion de code Gray vers code binaire : Exprimer B 3 en fonction de G 3 Exprimer B 2 en fonction B 3 et G 2 Exprimer B en fonction B 2 et G Exprimer B en fonction B et G

6/8 4.2 ) Le code ASCII Pour la mémorisation, l édition et/ou la transmission de textes, il est nécessaire de pouvoir aussi coder sous forme binaire des caractères tels que les lettres de l alphabet, la ponctuation, des symboles, des instructions de changement de ligne, de «retour chariot», etc. Le code ASCII (American Standard Code for Information Interchange) a été adopté en Informatique. Vous en trouverez un extrait p. 48 du livre ELECTRONIQUE NUMERIQUE. Exercice : Donner les codes ASCII correspondants au message «Hello world!». caractères H e l l o w o r l d! CR LF Code ASCII

Liste des codes ASCII (d après www.asciitable.com) 7/8 codes étendus

8/8 4.3 ) Les codes à détection d erreur Ces codes permettent de détecter, et pour certains même de corriger des erreurs dues à des perturbations dans la transmission des données, le stockage, etc. La technique de codage la plus simple consiste à transmettre avec chaque octet un neuvième bit, le BIT DE PARITÉ. Dans le cas de la parité paire (Even Parity), ce neuvième bit est tel que la somme des bits à transmis est un nombre pair. Ce sera l inverse pour la parité impaire. Soient à transmettre les caractères M et I, codés en ASCII % et %. Les bits de parité seront respectivement et. Une erreur simple sera ainsi détectée par le destinataire qui demandera alors une retransmission des données. Exercice : Reprendre l exercice sur le code ASCII, et calculer le bit de parité paire pour chaque caractère. 4.4 ) Les codes barres Ces dernières années est apparu un système optique de codage numérique appelé CODE BARRE. Parmi les codes existants, le code EAN 3 (European Article Number) est utilisé sur tous les produits de grande consommation. Il est décrit dans le MEMOTECH 4 ème édition page 4.4 : un trait fin code, un espace fin code, un système de détection des erreurs est intégré dans les 3 caractères.