PF1 Principes de Fonctionnement des machines binaires Version 1.13

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

Chapitre 10 Arithmétique réelle

Glossaire 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.

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

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.

Logiciel de Base. I. Représentation des nombres

Conversion d un entier. Méthode par soustraction

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

V- Manipulations de nombres en binaire

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 =

Informatique Générale

Représentation d un entier en base b

Puissances d un nombre relatif

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

Priorités de calcul :

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

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

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

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

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Représentation des Nombres

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

Algèbre binaire et Circuits logiques ( )

Raisonnement par récurrence Suites numériques

1 Définition et premières propriétés des congruences

Structures algébriques

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

Présentation du cours de mathématiques de D.A.E.U. B, remise à niveau

Angles orientés et trigonométrie

Les opérations binaires

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

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

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

Compter à Babylone. L écriture des nombres

Initiation à la programmation en Python

Triangle de Pascal dans Z/pZ avec p premier

Continuité et dérivabilité d une fonction

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

Fonctions homographiques

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

Algorithme. Table des matières

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

Exprimer ce coefficient de proportionnalité sous forme de pourcentage : 3,5 %

Cours Informatique 1. Monsieur SADOUNI Salheddine

DOCM Solutions officielles = n 2 10.

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

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R

IFT2880 Organisation des ordinateurs et systèmes

Représentation géométrique d un nombre complexe

STAGE IREM 0- Premiers pas en Python

Le produit semi-direct

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Excel 2007 Niveau 3 Page 1

Cours d Informatique

DEVOIR MAISON : THEME : LES CLES DE CONTROLE. I. La clé des codes barres

Architecture de l ordinateur

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

Introduction. Mathématiques Quantiques Discrètes

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

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

ALGORITHMIQUE ET PROGRAMMATION En C

6. Les différents types de démonstrations

Cours d arithmétique Première partie

CORRECTION EXERCICES ALGORITHME 1

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

SOMMAIRE... SOMMAIRE... SOMMAIRE... SOMMAIRE... SOMMAIRE... SOMMAIRE... LES MESURES

Objets Combinatoires élementaires

FONDEMENTS DES MATHÉMATIQUES

Rappels Entrées -Sorties

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

Calculs de probabilités conditionelles

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

avec des nombres entiers

Licence Sciences et Technologies Examen janvier 2010

Cours 1 : Qu est-ce que la programmation?

108y= 1 où x et y sont des entiers

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

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

Maple: premiers calculs et premières applications

LES NOMBRES DECIMAUX. I. Les programmes

Chapitre 2. Matrices

Initiation à la Programmation en Logique avec SISCtus Prolog

Développement décimal d un réel

Dérivation CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES

Architecture matérielle des systèmes informatiques

Chapitre 2. Eléments pour comprendre un énoncé

Dérivation : cours. Dérivation dans R

1 Introduction au codage

Solutions du chapitre 4

I- Définitions des signaux.

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Une version javascript sera disponible directement dans le cours prochainement.

IFT1215 Introduction aux systèmes informatiques

Esterel The french touch star touch esterel advance

Le théorème de Thalès et sa réciproque

Polynômes à plusieurs variables. Résultant

TP, première séquence d exercices.

EVALUATIONS MI-PARCOURS CM2

Transcription:

PF1 Principes de Fonctionnement des machines binaires Jean-Baptiste.Yunes@univ-paris-diderot.fr Version 1.13

Faire des opérations Savez-vous faire des additions en base b? Des soustractions? Des multiplications?

Rappelons-nous que pour cela il nous faut des tables les tables d addition les tables de multiplication

+ 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 0 1 2 3 4 5 6 7 8 9 A B C D E F 1 1 2 3 4 5 6 7 8 9 A B C D E F 10 2 2 3 4 5 6 7 8 9 A B C D E F 10 11 3 3 4 5 6 7 8 9 A B C D E F 10 11 12 Table 4 4 5 6 7 8 9 A B C D E F 10 11 12 13 5 5 6 7 8 9 A B C D E F 10 11 12 13 14 d addition 6 6 7 8 9 A B C D E F 10 11 12 13 14 15 7 7 8 9 A B C D E F 10 11 12 13 14 15 16 8 8 9 A B C D E F 10 11 12 13 14 15 16 17 en base 16 : 9 9 A B C D E F 10 11 12 13 14 15 16 17 18 A A B C D E F 10 11 12 13 14 15 16 17 18 19 B B C D E F 10 11 12 13 14 15 16 17 18 19 1A C C D E F 10 11 12 13 14 15 16 17 18 19 1A 1B D D E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C E E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D F F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E

Table de multiplication en base 16 : x 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 2 3 4 5 6 7 8 9 A B C D E F 2 0 2 4 6 8 A C E 10 12 14 16 18 1A 1C 1E 3 0 3 6 9 C F 12 15 18 1B 1E 21 24 27 2A 2D 4 0 4 8 C 10 14 18 1C 20 24 28 2C 30 34 38 3C 5 0 5 A F 14 19 1E 23 28 2D 32 37 3C 41 46 4B 6 0 6 C 12 18 1E 24 2A 30 36 3C 42 48 4E 54 5A 7 0 7 E 15 1C 23 2A 31 38 3F 46 4D 54 5B 62 69 8 0 8 10 18 20 28 30 38 40 48 50 58 60 68 70 78 9 0 9 12 1B 24 2D 36 3F 48 51 5A 63 6C 75 7E 87 A 0 A 14 1E 28 32 3C 46 50 5A 64 6E 78 82 8C 96 B 0 B 16 21 2C 37 42 4D 58 63 6E 79 84 8F 9A A5 C 0 C 18 24 30 3C 48 54 60 6C 78 84 90 9C A8 B4 D 0 D 1A 27 34 41 4E 5B 68 75 82 8F 9C A9 B6 C3 E 0 E 1C 2A 38 46 54 62 70 7E 8C 9A A8 B6 C4 D2 F 0 F 1E 2D 3C 4B 5A 69 78 87 96 A5 B4 C3 D2 E1

retenues + 11 18A4 7C 1920 + 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 0 1 2 3 4 5 6 7 8 9 A B C D E F 1 1 2 3 4 5 6 7 8 9 A B C D E F 10 2 2 3 4 5 6 7 8 9 A B C D E F 10 11 3 3 4 5 6 7 8 9 A B C D E F 10 11 12 4 4 5 6 7 8 9 A B C D E F 10 11 12 13 5 5 6 7 8 9 A B C D E F 10 11 12 13 14 6 6 7 8 9 A B C D E F 10 11 12 13 14 15 7 7 8 9 A B C D E F 10 11 12 13 14 15 16 8 8 9 A B C D E F 10 11 12 13 14 15 16 17 9 9 A B C D E F 10 11 12 13 14 15 16 17 18 A A B C D E F 10 11 12 13 14 15 16 17 18 19 B B C D E F 10 11 12 13 14 15 16 17 18 19 1A C C D E F 10 11 12 13 14 15 16 17 18 19 1A 1B D D E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C E E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D F F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E Tentons une addition

retenues + 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 0 1 2 3 4 5 6 7 8 9 A B C D E F - 18A4 17C 1828 1 1 2 3 4 5 6 7 8 9 A B C D E F 10 2 2 3 4 5 6 7 8 9 A B C D E F 10 11 3 3 4 5 6 7 8 9 A B C D E F 10 11 12 4 4 5 6 7 8 9 A B C D E F 10 11 12 13 5 5 6 7 8 9 A B C D E F 10 11 12 13 14 6 6 7 8 9 A B C D E F 10 11 12 13 14 15 7 7 8 9 A B C D E F 10 11 12 13 14 15 16 8 8 9 A B C D E F 10 11 12 13 14 15 16 17 9 9 A B C D E F 10 11 12 13 14 15 16 17 18 A A B C D E F 10 11 12 13 14 15 16 17 18 19 B B C D E F 10 11 12 13 14 15 16 17 18 19 1A C C D E F 10 11 12 13 14 15 16 17 18 19 1A 1B D D E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C E E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D F F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E Tentons une soustraction

+ 0 1 2 3 4 5 6 7 8 9 A B C D E F x + 18A4 7C 127B0 AC7C BEF70 0 0 1 2 3 4 5 6 7 8 9 A B C D E F 1 1 2 3 4 5 6 7 8 9 A B C D E F 10 2 2 3 4 5 6 7 8 9 A B C D E F 10 11 3 3 4 5 6 7 8 9 A B C D E F 10 11 12 4 4 5 6 7 8 9 A B C D E F 10 11 12 13 5 5 6 7 8 9 A B C D E F 10 11 12 13 14 6 6 7 8 9 A B C D E F 10 11 12 13 14 15 7 7 8 9 A B C D E F 10 11 12 13 14 15 16 x8 08 19 2 A 3 B 4 C 5 D 6 E 7 F 8 109 11A 12B 13C 14D 15E 16F 17 09 09 0A 0 B 0 C 0 D 0 E 0 F 0 100 110 120 130 140 150 160 170 18 1A 0A 1B 2C 3 D 4 E 5 F 6 107 118 129 13A 14B 15C 16D 17E 18F 19 2B 0B 2C 4D 6 E 8 F A10C 11E 12101312 14 14 1516 1618 17 1A 18 1C 19 1E 1A 3C 0C 3D 6 E 9 F C10 F111212151318141B151E 1621 1724 18 27 19 2A 1A 2D 1B 4D 0D 4E 8 F C101011141218131C14201524 1628 172C 1830 19 34 1A38 1B 3C 1C 5E 0E 5F A10 F11141219131E14231528162D1732 1837 193C 1A41 1B46 1C 4B 1D 6F 0F 610 C11121218131E1424152A16301736 183C 1942 1A48 1B4E 1C54 1D 5A 1E 7 0 7 E 15 1C 23 2A 31 38 3F 46 4D 54 5B 62 69 8 0 8 10 18 20 28 30 38 40 48 50 58 60 68 70 78 9 0 9 12 1B 24 2D 36 3F 48 51 5A 63 6C 75 7E 87 A 0 A 14 1E 28 32 3C 46 50 5A 64 6E 78 82 8C 96 Tentons une multiplication B 0 B 16 21 2C 37 42 4D 58 63 6E 79 84 8F 9A A5 C 0 C 18 24 30 3C 48 54 60 6C 78 84 90 9C A8 B4 D 0 D 1A 27 34 41 4E 5B 68 75 82 8F 9C A9 B6 C3 E 0 E 1C 2A 38 46 54 62 70 7E 8C 9A A8 B6 C4 D2 F 0 F 1E 2D 3C 4B 5A 69 78 87 96 A5 B4 C3 D2 E1

+ 0 1 0 0 1 1 1 10 En base 2 c est facile x 0 1 0 0 0 1 0 1

+ 0 1 + 0 1 Addition 0 0 0 0 0 1 1 0 1 retenue 1 1 0 résultat En base 2 c est facile x 0 1 Multiplication pas de retenue! 0 0 0 1 0 1 résultat

+ 0 1 retenues 0000100111100 1010100110111 0 0 1 1 1 10 + 110101100 1011011100011 Tentons une addition

retenues - 1010100110111 111110101100 1 1001110001011 + 0 1 0 0 1 1 1 10 Tentons une soustraction

Tentons une multiplication + 0 1 0 0 1 1010100110111 1 1 10 x 11010 + + + + 0000000000000 1010100110111 0000000000000 1010100110111 1010100110111 x 0 1 0 0 0 1 0 1 100010011110010110

Outils l outil bc une calculatrice un langage de programmation pour calculer

La «preuve par 9» Connaissez-vous la preuve par 9? c est un moyen de vérification de la validité d une opération arithmétique Attention, si la «preuve par 9» ne fonctionne pas l opération est fausse, mais si la «preuve par 9» fonctionne l opération est peut-être vraie

Comment ça marche? il suffit de vérifier que modulo 9 l opération fonctionne il suffit de vérifier qu avec les restes de la division par 9, ça fonctionne 1345*2345 = 3154025? c est peut-être correct car (1+3+4+5)*(2+3+4+5) (3+1+5+4+0+2+5) (mod 9) 13*14 20 (mod 9) (1+3)*(1+4) (2+0) (mod 9) 4*5 2 (mod 9) 20 2 (mod 9) (2+0) 2 (mod 9) ça ressemble à quelque chose de correct

La preuve par 9 fonctionne sur l addition, la soustraction, la division, etc pour aller plus vite on peut ignorer les chiffres 9 On peut généraliser à la preuve par b-1 en base b On peut aussi faire une preuve par 99 en base 100 ça réduit la probabilité des faux positifs

Critère de divisibilité On en connaît quelques exemples divisibilité par 2 l écriture du nombre doit terminer par 0, 2, 4, 6, ou 8 divisibilité par 3 la somme des chiffres du nombre doit être divisible par 3 (on réitère si nécessaire)

pour la divisibilité par 2 c est trivial puisque si n s écrit a n-1 a n-2 a 1 a 0, n=(a n-1 a n-2 a 1 )x10+a 0 10 est divisible par 2, donc n divisible par 2 ssi a 0 l est pour la divisibilité par 3 on remarque que 10 p 1 (mod 3) 10=9+1, 100=99+1, 1000=999+1, etc on sait aussi que si n m (mod p) et n m (mod p) alors a+b m+m (mod p), idem pour la différence et le produit par conséquent n est divisible par 3 (congru à 0 modulo 3), n a n-1 +a n-2 + +a 1 +a 0 (mod 3) donc si a n-1 +a n-2 + +a 1 +a 0 est divisible par 3

Il existe une méthode générale pour trouver un critère de divisibilité par p (entier quelconque) regardons simplement pour 7 (par exemple) 20 6 (mod 7) et 20 = 10x2 n=(a n-1 a n-2 a 1 )x10+a 0 0 (mod 7) ssi 2n=(a n-1 a n-2 a 1 )x20+2a 0 0 (mod 7) donc ssi 6x(a n-1 a n-2 a 1 )+2a 0 0 (mod 7)

777 6*77+2*7 476 6*47+2*6 294 6*29+2*4 182 6*18+2*2 112 6*11+2*2 70 778 6*77+2*8 478 6*47+2*8 298 6*29+2*8 190 6*19+2*0 114 6*11+2*4 74

plus intéressant (toujours pour 7) 50 1 (mod 7) et 50 = 10x5 n=(an-1an-2 a1)x10+a0 0 (mod 7) ssi 5n=(an-1an-2 a1)x50+5a0 0 (mod 7) donc ssi (an-1an-2 a1)+5a0 0 (mod 7)

777 77+5*7 112 11+5*2 21 778 77+5*8 117 11+5*7 46

Critère de divisibilité par 11 10x10 = 100 1 (mod 11) mais aussi 10-1 (mod 11) donc -1x(a n-1 a n-2 a 1 )+a 0 0 (mod 11) (a n-1 a n-2 a 1 )-a 0 0 (mod 11) mais encore 9636 96+36 132 1+32 33 9636 963-6 957 95-7 88 10-1 (mod 11), 100 1 (mod 11), 1000-1 (mod 11), etc +1000a 3 +100a 2 +10a 1 +a0 0 (mod 11) ssi -a3+a2-a1+a0 0 (mod 11) 9636 6+6-9-3 0

Vous voulez jouer avec le critère de divisibilité? essayez de vérifier si 5316123 est divisible par 111? remarquez simplement que 1000 1 (mod 111), c est-à-dire que 1000=9x111+1

Q: critère de divisibilité en base 7, nombre divisible par 7? Q: critère de divisibilité en base 12, nombre divisible par 6? par 2? par 3? par 4?

Les nombres qui ne sont pas des entiers Comment les représenter?

Les fractions c est simple, il s agit de simples couples d entiers, donc pas de problèmes particuliers? si ce n est les opérations arithmétiques qui nécessitent des attentions particulières (même dénominateur )

Les décimaux Attention les fractions ne sont pas des décimaux, les décimaux sont des fractions dont le dénominateur est une puissance de 10 pour la partie entière pas de problème : comme avant pour la partie décimale il faut utiliser le processus symétrique on va multiplier par deux, garder la partie entière, puis recommencer jusqu à épuisement

0,296875 x 2 = 0,593750 0,59375 x 2 = 1,18750 0,1875 x 2 = 0,3750 0,375 x 2 = 0,750 0,75 x 2 = 1,50 0,50 x 2 = 1,0 0,296875 = (0,010011)2

Attention : ceci ne termine pas à tous les coups 0,1 0,2 0,4 0,8 1,6 1,2 0,4 0,8 0,1 = (0,00011001100110011 0011 ) 2 on représente la répétition infinie de manière plus symbolique à l aide du symbole ω et parfois * : 0,1 s écrit 0,0(0011) ω ou 0,0(0011) * en base 2 L écriture de 0,1 en base 10 est finie, mais infinie périodique en base 2

1/7 périodique en base 10 fini en base 7

La notation scientifique consiste à écrire les nombres sous la forme : ±a.10 n où a [1;10[ et n Z 65,345 s écrit 6,5345.10 1 0,045 s écrit 4,5.10-2 c est donc encore une affaire de couple

La notation en virgule flottante que l on utilisera plus loin est une variante de la notation scientifique x s y écrit ±m.10 n où m [0,1;1[ et n Z, m est appelé la mantisse et n l exposant ainsi 65,345 s écrit 0,65345.10 2 et 0,045 s écrit 0,45.10-1 on peut donc les représenter sous la forme d un couple (m,n) : (65345,2) et (45,-1) par exemple Attention 0 a pour mantisse 0, l exposant est non significatif

Jouons avec les écritures Infinité de chiffres à gauche?

On sait qu on peut mettre autant de zéro qu on veut à gauche d une écriture, même une infinité (si on accepte l existence d un tel infini) ok Jouons un peu : quel est le nombre qui ajouté à 1 fait 0? Tout le monde sait qu il s agit du nombre habituellement noté -1

Mais en utilisant l addition/soustraction standard? (on opère en base 10) 1 +? 0 000000001 + 999999999 000000000

On sait qu on peut mettre autant de zéro qu on veut à gauche d une écriture, même une infinité (si on accepte l existence d un tel infini) ok Jouons un peu : quel est le nombre qui ajouté à 2 fait 0? Tout le monde sait qu il s agit du nombre noté -2

Mais en utilisant l addition/soustraction standard? 2 +? 0 000000002 + 999999998 000000000

donc (en base 10) une infinité de 0 à gauche : nombre positif cette infinité de 0 est généralement ignorée mais parfois symbolisée par le signe + une infinité de 9 à gauche : nombre négatif (il faudrait mieux préciser mais peut importe ici) cette infinité est habituellement notée à l aide du signe - précédant la valeur absolue

En base 2? 101 0000101 +? + 1111011 0 0000000 ( 1111011)2 = (-3)10 En base 3? 5?

Et les nombres qui ne sont pas des entiers? Et bien leur écriture pose des problèmes, par exemple les réels : x=0,9999999? 10x-x = 9,999999-0,999999 = 9 donc x = 1 pas d écriture positionnelle unique des réels (quelle que soit la base)

On sait que les réels sont non dénombrables Une démonstration est due à Georg Ferdinand Ludwig Philipp Cantor 1845 1918 source : Wikipédia

La diagonale de Cantor On énumère (tentative) les nombres réels de l intervalle [0,1[ 0,3256738 0,9087687 0,9875623 0,1111111 On construit le nombre 0,4182 et l on constate qu il n est pas dans la liste. Cela fonctionne avec n importe quelle liste (il y a toujours un nombre qui ne peut être représenté)

Et si on tente avec les inverses? x 0000101 x? 0000001 1 0000101 0011001101 1 1 1 1 1 101 000 101 101 1 000 1000 101 101 000 000 0000001