Nombres de 8 bits Lu en Lu en binaire hexadécimal. Si on admet que le nombre peut représenter des valeurs négatives, on parle de nombres "signés".



Documents pareils
Mathématiques appliquées à l informatique

Représentation des Nombres

Conversion d un entier. Méthode par soustraction

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

Les opérations binaires

Logiciel de Base. I. Représentation des nombres

Représentation d un entier en base b

Algorithme. Table des matières

Informatique Générale

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

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

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

GPA770 Microélectronique appliquée Exercices série A

V- Manipulations de nombres en binaire

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Cours Informatique 1. Monsieur SADOUNI Salheddine

Chapitre 10 Arithmétique réelle

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

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT

I- Définitions des signaux.

Licence Sciences et Technologies Examen janvier 2010

Une version javascript sera disponible directement dans le cours prochainement.

TD Architecture des ordinateurs. Jean-Luc Dekeyser

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

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

ASR1 TD7 : Un microprocesseur RISC 16 bits

Chap17 - CORRECTİON DES EXERCİCES

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

Temps forts départementaux. Le calcul au cycle 2 Technique opératoire La soustraction

Architecture de l ordinateur

IV- Comment fonctionne un ordinateur?

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.

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

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

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

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

1 Introduction au codage

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

Université Paris-Dauphine DUMI2E 1ère année, Applications

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

FORD C-MAX + FORD GRAND C-MAX CMAX_Main_Cover_2013_V3.indd /08/ :12

ANALYSE TRAMEs LIAISON SERIE

Numérisation du signal

OLYMPIADES ACADEMIQUES DE MATHEMATIQUES. 15 mars 2006 CLASSE DE PREMIERE ES, GMF

Chapitre 1 I:\ Soyez courageux!

Suites numériques. Exercice 1 Pour chacune des suites suivantes, calculer u 1, u 2, u 3, u 10 et u 100 : Introduction : Intérêts simpleset composés.

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

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

Représentation d un nombre en machine, erreurs d arrondis

THEME : CLES DE CONTROLE. Division euclidienne

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Cours 1 : Qu est-ce que la programmation?

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

Rappels d architecture

Q6 : Comment calcule t-on l intensité sonore à partir du niveau d intensité?

IFT2880 Organisation des ordinateurs et systèmes

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

Probabilités sur un univers fini

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

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

LOGICIEL DC4D MONITOR

Initiation au binaire

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

Concevoir son microprocesseur

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

Précision d un résultat et calculs d incertitudes

Le multiplexage. Sommaire

Développements limités, équivalents et calculs de limites

Fiche technique CPU 314SC/DPM (314-6CG13)

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

Système binaire. Algèbre booléenne

ReadCard Guide Utilisateur

Microprocesseur + Logiciel

Le poids et la taille des fichiers

Groupes et utilisateurs locaux avec Windows XP

TD : Codage des images

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

Utilisation de KoXo Computers V2.1

Continuité en un point

Image d un intervalle par une fonction continue

Programmation assembleur : aperçu

AMICUS 18 (2ème partie) 4) Présentation du logiciel Amicus IDE

PRESCRIPTION MEDICALE DE TRANSPORTS. Service des Affaires Juridiques 28/11/2013

Cours d initiation à la programmation en C++ Johann Cuenin

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

prévues par la législation belge et les frais. le versement diminué des frais et des éventuelles taxes ou cotisations.

Organisation des Ordinateurs

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

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

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Nombre dérivé et tangente

Groupe symétrique. Chapitre II. 1 Définitions et généralités

Cours d Informatique

Architecture matérielle des systèmes informatiques

TSTI 2D CH X : Exemples de lois à densité 1

Probabilités. Une urne contient 3 billes vertes et 5 billes rouges toutes indiscernables au toucher.

Transcription:

Nombres signés Nous avons jusqu à présent parlé de nombres entiers naturels. Ils ne peuvent par nature qu être positifs ou nuls. Envisageons maintenant les nombres entiers relatifs ou autrement dit, munis d un signe + ou - En décimal, 1, 2, 3 etc. sont des nombres positifs. Ils sont supérieurs à 0 ( n >0 ) -1, -2, -3 etc. sont des nombres négatifs. Ils sont inférieurs à 0 ( n < 0 ) De même en binaire, 1, 10, 11, 100, 101 etc. sont des nombres binaires positifs, -1, -10, -11, -100, -101 etc. sont des nombres binaires négatifs. Le problème pour la codification de ces nombre est que les circuits électroniques digitaux ne peuvent enregistrer que des 0 ou des 1 mais pas de signes + ou -. Le seul moyen est alors de convenir, quand un nombre est susceptible d être négatif, de lui réserver un bit pour indiquer le signe. Reste à déterminer quel bit qui dans un nombre codé en binaire conviendrait le mieux pour symboliser le signe et quelle valeur de ce bit (0 ou 1) conviendrait le mieux pour représenter le signe "plus" ou le signe "moins". Observons d abord le fait que les nombres codés en machine ont une dimension fixe : Sur papier, les nombres ont des dimensions variables : L addition de deux nombres de 2 chiffres donne un nombre de 2 ou 3 chiffres. La multiplication de deux nombres de 2 chiffres donne des nombres de 3 ou 4 chiffres. En machine par contre, les nombres ne sont pas extensibles. Ils ont des dimensions fixes. C est exactement ce que nous avons avec certain compteurs. Dans une voiture par exemple, le compteur kilométrique s il ne possède que 6 chiffres ne pourra indiquer plus de 999.999 km. Il en va de même, dans les ordinateurs les nombres (binaires) ont eux aussi des dimensions fixes de 1, 2, 4 ou 8 octets. Revenons à l exemple de la voiture et imaginez un compteur kilométrique qui compte les km en marche avant et qui les décompte en marche arrière. Que pourrait-on lire sur un compteur d une voiture neuve (compteur initialement à 000.000) si elle parcourt 1 km en marche arrière? Le compteur décompte 1 km et affiche donc 999.999 km! Ce code correspond parfaitement à la valeur 1 puisqu on obtient 0 si on lui ajoute à nouveau 1. x + 1 = 0 x = -1 dans ce cas ci 999.999 équivaut à -1 On exploite cette caractéristique étrange qui est due au fait que ce nombre à une dimension finie (6 chiffres décimaux) De même, quel serait le code d un nombre de 8 bits pour représenter la valeur 1? Le code 1111 1111 2 (= FF 16 ) convient puisque, si on ajoute 1 à ce nombre, on obtient 0000 0000 2 (ou 00 16 ), le bit de report déborde à gauche, il sort de l espace qui est réservé au nombre et est donc ignoré. Le bit le plus à gauche du mot binaire est celui qui va représenter le signe. Signe négatif si ce bit vaut 1, signe positif quand ce bit vaut 0.Le tableau de la page suivante montre ce que cela donne avec des nombres de 8 bits. Luc De Mey www.courstechinfo.be/mathinfo/nbrsignes.html 1/5

Si on admet que le nombre peut représenter des valeurs négatives, on parle de nombres "signés". Comme pour les nombres "non signés", on peut représenter 2 8 = 256 codes avec 8 bits mais ici le bit de gauche est le signe 1 = signe moins 0 = signe plus Il y a donc moyen de représenter 128 codes avec le bit de signe à 1 ce sont 128 nombres négatifs ( de 1 à 128) 128 codes avec le bit de signe à 0 le nombre 0 et 127 nombres positifs ( de 1 à +127) Nombres de 8 bits Lu en Lu en binaire hexadécimal Lu en décimal signé 7F 0111 1111 +127 7E 0111 1110 +126 10 0001 0000 +16 0F 0000 1111 +15 OE 0000 1110 +14 OD 0000 1101 +13 OC 0000 1100 +12 0B 0000 1011 +11 0A 0000 1010 +10 09 0000 1001 +9 08 0000 1000 +8 03 0000 0011 +3 02 0000 0010 +2 01 0000 0001 +1 00 0000 0000 +0 FF 1111 1111-1 FE 1111 1110-2 FD 1111 1101-3 FC 1111 1100-4 FB 1111 1011-5 FA 1111 1010-6 F9 1111 1001-7 86 1000 0110-122 85 1000 0101-123 84 1000 0100-124 83 1000 0011-125 82 1000 0010-126 81 1000 0001-127 80 1000 0000-128 Luc De Mey www.courstechinfo.be/mathinfo/nbrsignes.html 2/5

Comment calculer les codes des nombres négatifs? Le calcul se fait en deux étapes : 1 Calcul du complément à 1 = Remplacer tous les 0 par des 1 et tous les 1 par des 0. 2 Calcul du complément à 2 = Ajouter 1 au complément à 1 Exemple : comment écrire 4 en binaire ou en hexadécimal? +4 = 0000 0100 complément à 1 = 1111 1011 +1 complément à 2 = 1111 1100 = FC = - 4 Cas particuliers : - Le complément à 2 de 0 est encore 0 - Le complément à 2 de 80H est aussi 80H! Les nombres négatifs et positifs ne sont pas répartis symétriquement. Avec un byte la valeur minimum est 128 contre +127 pour la valeur positive. NB. Le complément à 1 est aussi appelé "complément logique" ou "complément restreint" De même, certains désignent le complément à 2 par l expression "complément arithmétique". Analogie en décimal 25-17 08 Existe-t-il un complément arithmétique de 17 tel que 25 + (Complément de 17) = 25-17? Oui, à condition de décréter que comme dans une machine les nombres ont une taille fixe au-delà de laquelle les reports sont ignorés. Puisque deux chiffres suffisent pour écrire 25, 17 et 08 nous limitons la taille de ces nombres à 2 caractères. La question devient : Quel nombre faut-il ajouter à 25 pour que la réponse se terminer par les chiffres 08? Ce nombre est 83. En effet 25 + 83 = 108 mais on ignore le 1 à gauche puisque nous avons décidé de donner une taille fixe de deux chiffres pour les nombres de cet exemple. 83 est donc dans ce cas le complément arithmétique de 17. Comment trouver ce complément arithmétique en base 10? La méthode ressemble fort au calcul du complément à 1 comme en binaire suivi de l addition d une unité. Ici, en décimal, le complément restreint sera un complément à 9. Complément à 9 : 99-17 82 Complément arithmétique : 82 +1 = 83 99 17 + 1 = 100 17 = 83 Luc De Mey www.courstechinfo.be/mathinfo/nbrsignes.html 3/5

La valeur du bit de signe Le bit de signe est le bit le plus significatif du code ( MSB Most Significant Bit), celui qui est le plus à gauche. Dans le cas d un nombre de n bits numérotés de 0 à n-1, c est le bit n-1. Bien souvent on se contente de constater que ce bit est à 1 pour en conclure que le nombre considéré est négatif. La valeur absolue de ce nombre est alors déterminée en calculant le complément arithmétique de son code. Une autre manière d envisager la chose serait de considérer que le bit n-1 a, contrairement aux autres bits, une valeur négative : - 2 n-1 Exemple : Si un byte est considéré comme un code signé le bit 7 quand il est à 1 vaut -128. Si le byte est considéré comme non signé, le poids du bit 7 est simplement 2 7 = 128. Ainsi -123 = -128 + 5 = 80H + 5 = 85H Plus généralement : Pour les nombres non signés nous calculions la valeur du nombre comme suit : N = b n-1 2 n-1 +... + b i 2 i +... + b 2 2 2 + b 1 2 + b 0 i =n-1 = b i 2 i i =0 Dans le cas des nombres signés la valeur sera N = - b n-1 2 n-1 + b n-2 2 n-2 +... + b i 2 i +... + b 2 2 2 + b 1 2 + b 0 i =n-2 = -2 n-1 + b i 2 i i =0 Extension de la taille d'un nombre signé Pour étendre la taille d un nombre non signé, on ajoute des 0 à sa gauche. Pour étendre la taille d un nombre signé, ajoute sur la gauche des bits identiques au bit de signe. Exemples : -4 codé sur un byte = FC 16 sur deux bytes ce code devient FFFC 16 = 1111 1100 2 = 1111 1111 1111 1100 2 +4 en un byte = 04 16 sur deux bytes = 0004 16 = 0000 0100 2 = 0000 0000 0000 0100 2 Bit de signe Extension du bit de signe Luc De Mey www.courstechinfo.be/mathinfo/nbrsignes.html 4/5

EXERCICES 1. Déterminez les valeurs des compléments logiques et arithmétiques des codes binaires suivants : 1100 1001 0000 1111 0111 0011 0001 0000 Complément à 1 Complément à 2 2. Calculer les compléments à 1 et à 2 pour les nombres suivants exprimés sous forme hexadécimale. Faites le calcul en binaire puis notez la réponse en hexa. AA (16) FF (16) 1248 (16) 3. Que vaut le code C0 (16) a) s il s agit d un nombre non signé? b) s il s agit d un nombre signé? 4. Les codes suivants ont une taille de 16 bits, ils sont signés et donnés en hexadécimal. Calculez leurs valeurs et donnez la réponse en décimal. FFFF 8000 7FFF 00FF 5. Quelles sont les valeurs minimum et maximum que peut prendre un nombre entier signé codé sur 4 octets? 6. Comment écrire -512 en binaire? Combien faut-il de bytes au minimum pour encoder cette valeur? 7. Quel est le plus petit nombre entier négatif qui puisse être traité dans les registres d un Pentium 64 bits? 8. La valeur -192 peut-elle être codée sur un byte? justifiez votre réponse. 9. Comment écrire -150 en binaire et en hexadécimal? 10. Que vaut 8001 (16) selon que ce code de 2 octets est signé ou non signé? Luc De Mey www.courstechinfo.be/mathinfo/nbrsignes.html 5/5