Addition et soustraction de deux octets

Documents pareils
Les opérations binaires

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

Conversion d un entier. Méthode par soustraction

Cours Informatique 1. Monsieur SADOUNI Salheddine

Chapitre 10 Arithmétique réelle

Informatique Générale

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

Le codage informatique

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

Une version javascript sera disponible directement dans le cours prochainement.

IFT2880 Organisation des ordinateurs et systèmes

Représentation d un entier en base b

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

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

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

Représentation des Nombres

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

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

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

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

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

V- Manipulations de nombres en binaire

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

Logiciel de Base. I. Représentation des nombres

Introduction à NetCDF

1 Introduction au codage

Chap17 - CORRECTİON DES EXERCİCES

Mathématiques appliquées à l informatique

IFT1215 Introduction aux systèmes informatiques

Conservation des documents numériques

IV- Comment fonctionne un ordinateur?

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

I- Définitions des signaux.

ASR1 TD7 : Un microprocesseur RISC 16 bits

Algorithme. Table des matières

Numérisation du signal

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

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

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

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

Information. BASES LITTERAIRES Etre capable de répondre à une question du type «la valeur trouvée respecte t-elle le cahier des charges?

Acquisition et conditionnement de l information Les capteurs

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


Architecture matérielle des systèmes informatiques

Initiation au binaire

Fonctions homographiques

Structure de base d un ordinateur

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

Connaissances VDI 1 : Chapitres annexe

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

Licence Sciences et Technologies Examen janvier 2010

Manuel Technique. Gestion Technique Centralisée des récupérateurs POWERPLAY

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

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

TP a Notions de base sur le découpage en sous-réseaux

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

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

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

I.1- DÉFINITIONS ET NOTIONS DE BASE

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

ET LO GICIEL D UN S YS T EME IN FORMATIQUE

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

I. QU'EST-CE QU'UN ORDINATEUR? Un ordinateur est relié à plein de périphériques

Connaître la durée de vie d'un SSD

Le multiplexage. Sommaire

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

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

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

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

Procédure appropriée pour éditer les diagrammes avec ECM Titanium

Système binaire. Algèbre booléenne

Traitement numérique de l'image. Raphaël Isdant

Concevoir son microprocesseur

Chapitre 1 I:\ Soyez courageux!

Ordinateurs, Structure et Applications

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Architecture de l ordinateur

Groupes et utilisateurs locaux avec Windows XP

ANALYSE TRAMEs LIAISON SERIE

Programmation sous QT

PARAGON Disk Wiper. Guide de l utilisateur. Paragon Technology GmbH, System Programmierung. Copyright Paragon Technology GmbH

TO4T Technologie des ordinateurs. Séance 1 Introduction aux technologies des ordinateurs

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

Chapitre 13 Numérisation de l information

Présentation du cours

ScIn11 informatique Session d'appel, durée 1 heure, tous documents autorisés N'oubliez pas de reporter votre numéro d'anonymat :

TD : Codage des images

L AUTOMATISME LE SIGNAL

TD 1 - Transmission en bande de passe

LA SECURITE DES CARTES A BANDE MAGNETIQUE

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

Microprocesseur + Logiciel

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Transcription:

Addition et soustraction de deux octets Rappelons qu'un octet est un code de 8 bits. On peut avec 8 bits représenter 2 8 soit 256 combinaisons différentes. Ces combinaisons varient 0000 0000 à 1111 1111 si on les écrit en binaire ou de 00 à FF si on les écrit en hexadécimal. La signification de ces codes ne concerne absolument pas l'ordinateur. La machine est conçue pour traiter des informations ou plus exactement l aspect formel de cette information et non pas l information en tant que telle, sa signification, son contenu sémantique. Contrairement à nous humains et à une vision simpliste que nous pourrions avoir de l informatique, la machine est incapable de saisir le sens de l information traitée. Elle traite des codes sans avoir aucune idée des valeurs que représentent ces codes. Le traitement automatique de l information (de son codage) n a d intérêt que si les codes produits par ce traitement ont bien à leur tour des significations correctes. La question essentielle est donc de savoir quelles informations peuvent valablement être représentées par un codage déterminé. Prenons l exemple d un octet. Quelles sont les valeurs que peuvent représenter les diverses combinaisons possibles avec 8 bits? La réponse dépend de la convention adoptée par celui qui utilise ces codes : - Si pour nous, ces codes représentent des nombres non-signés, les 256 valeurs qui peuvent être représentées par un octet vont de 0 à 256 ( 00 16 à FF 16 ) - Si par contre, nous considérons ces codes comme représentant des nombres signés, les 256 valeurs possibles vont de -128 à +127 (80 16 à 7F 16 ) Les opérations arithmétiques faites à partir de ces codes donnent des résultats corrects pour autant que les codes produits ne sortent pas des limites qui dépendent du codage choisi : la taille du nombre 8, 16, 32 ou 64 bits et le fait que ces nombres soient considérés comme signés ou non. En dehors de ces limites les codes produits ne correspondent plus à des valeurs correctes. Exemple : Imaginons le calcul donné ici en hexadécimal : C0 + 2C En binaire, cela s écrirait 1100 0000 + 0010 1100 Le résultat sera EC en base 16 ou ce qui revient au même 1110 1100 en binaire Voyons maintenant si les codes produits correspondent à des réponses valables. 1 Si ces codes représentent des nombres non signés : Leurs valeurs sont donc comprises entre 0 et 255 C0 16 ou 1100 0000 2 représente la valeur 192 écrite ici en décimal 2C 16 ou 0010 1100 2 représente la valeur 44 en décimal Le résultat EC 16 représente 236 cela correspond bien à la valeur 192 + 44 Le résultat est correct car nous sommes restés dans les limites des nombres non signés. Nous ne sommes pas passés sous la valeur zéro. Il est d ailleurs impossible d écrire des nombres négatifs avec des nombres non signés! Nous n avons pas non plus dépassé la valeur maximum de 255. Luc De Mey http://www.courstechinfo.be/mathinfo/addsubbyte.html 1

2 Si ces codes représentent des nombres signés : Leurs valeurs sont donc comprises entre -128 et + 127 C0 16 ou 1100 0000 2 représente la valeur négative -64 2C 16 ou 0010 1100 2 représente la valeur positive +44 Le résultat ED 16 représente -20 cela correspond bien à la valeur de (-64) + (+44) Le résultat est correct car nous sommes restés dans les limites des nombres non signés Nous ne sommes pas passés sous la valeur de -128 Nous n avons pas non plus dépassé la valeur maximum de + 127 Voyons comment de tels calculs peuvent être réalisés de manière automatique par un dispositif qui pourtant ignore la signification c'est-à-dire la valeur des codes qu il traite. Le dispositif en question sera une calculatrice hexadécimale réalisée en papier. Elle est constituée de deux disques concentriques dessinés dans les pages annexes. Ces disques sont gradués avec les 256 codes allant de 00 à FF. Le disque intérieur sera découpé et fixé avec une punaise au centre du disque extérieur. L opération précédente C0 + 2C peut maintenant être réalisée en faisant pivoter le disque intérieur de sorte à placer l origine de son origine la graduation (00) en face de l inscription C0 sur le disque extérieur. Cherchons maintenant la valeur 2D à additionner sur le disque intérieur. La somme EC lui fait face sur le disque externe. C0 + 2C = EC Luc De Mey http://www.courstechinfo.be/mathinfo/addsubbyte.html 2

Ce calcul C0 + 2C = EC donne un résultat correct quelle que soit la convention utilisée (nombres non-signés ou au contraire signés) car ni dans un cas ni dans l autre nous n avons franchi les valeurs limites que peuvent représenter ces codes de 8 bits Nombres non signés : 192 + 44 = 236 et 236 [0 ; 255] Nombres signés : - 64 + 44 = 20 et 20 [ -128 ; +127 ] Il n en sera pas de même si l on dépasse l une des limites liées à la convention utilisée (nombres signés ou non signés) Ainsi si on voulait représenter deux nombres 120 et 40 par un code signé d un seul octet. Ces deux nombres peuvent sans problèmes être représentés par un octet signé puisqu ils sont compris entre les valeurs limites -128 et + 127. +120 = 78 16 et +40 = 28 16 Par contre, leur somme 120 + 40 vaudra 160 ce qui est une valeur supérieure à +127 La valeur 160 ne peut donc pas être représentée de manière valable par un code signé d un seul octet! Ce dépassement sera signalée par un flag particulier du processeur : l Overflow Le flag Overflow indique que la capacité des nombres signés a été dépassée par ce calcul. On aurait donc du utiliser des nombres d au moins 2 octets pour faire des calculs valides avec de telles valeurs. 0078 16 + 0028 16 = 00A0 16 = 160 10 Imaginons maintenant que l on veuille additionner 250 + 16 avec des nombres non signés d un seul octet. Bien que, comme dans le cas précédent, les deux nombres de départ peuvent sans problème être représentés par un seul octet ( 250 = FA 16 ) et (16 = 10 16 ) ; le résultat que donnerait notre calculatrice en papier ou n importe quel microprocesseur sera 0A 16 = 10 en décimal. Pourtant 250 + 16 10! L erreur est due au fait que le résultat qu on aurait dû obtenir 266 dépasse la valeur limite (256) possible avec un nombre non signé d un seul octet. Les microprocesseurs indiqueront le dépassement de cette limite par un flag de Carry (report) Le flag de Carry indique que le calcul donne un résultat dont la valeur dépasse la capacité des nombres non signés. Il aurait fallu au moins 2 octets pour coder ces nombres : 00FA + 0010 = 010A Les deux dernière pages de ce document permettent de construire la calculatrice en papier qui donnent les comme les CPU de nos ordinateurs permettent de calculer la somme ou la différence de 2 octets. Luc De Mey http://www.courstechinfo.be/mathinfo/addsubbyte.html 3

Luc De Mey http://www.courstechinfo.be/mathinfo/addsubbyte.html 4

Luc De Mey http://www.courstechinfo.be/mathinfo/addsubbyte.html 5