Cours I. Système décimal et définitions 7








télécharger 0.74 Mb.
titreCours I. Système décimal et définitions 7
page4/19
date de publication26.03.2017
taille0.74 Mb.
typeCours
ar.21-bal.com > droit > Cours
1   2   3   4   5   6   7   8   9   ...   19

Changements de base (nombres fractionnaires)

    1. Conversion d'un nombre en base quelconque vers la base 10



On peut étendre la forme polynomiale aux puissances négatives :
ex : 537,2810 = 5.102 + 3.101 + 7.100 +2.10-1 + 8.10-2
537,2816 = 5.162 + 3.161 + 7.160 +2.16-1 + 8.16-2
La méthode de conversion sera la même
537,2C16 = 5.162 + 3.161 + 7.160 +2.16-1 + 12.16-2 = 1335,17187510
      1. Conversion d'un nombre décimal en base quelconque



Pour la partie entière, on procède comme pour les nombres entiers par divisions successives.

Pour la partie fractionnaire, on remplace les divisions par des multiplications :



  • Multiplier la partie fractionnaire du nombre décimal par la base dans laquelle on veut la convertir.

  • Répéter l'opération pour atteindre la précision voulue.

  • Ecrire toutes les parties entières dans l'ordre dans lequel on les a obtenues.

  • Si la base d'arrivée est > 10, convertir les parties entières > 9 en lettres.


ex : on veut convertir 351,94310 en base 8

0,943 * 8 = 7,544 on garde 7
0,544 * 8 = 4,352 on garde 4 0,94310 = 0,74268
0,352 * 8 = 2,816 on garde 2
0,816 * 8 = 6,528 on garde 6

En définitive 351,94310 = 537,74268
Vérification : si l'on retransforme 0,74268 en décimal on obtient 0,9429 soit pratiquement 0,943
Si l'on s'était contenté de 3 chiffres après la virgule (soit 0,742) on aurait obtenu 0,9414
On voit que plus la base est petite, plus il faut de décimales pour conserver la précision initiale.
En base 10, 3 chiffres après la virgule correspondent à une précision de 1/103 soit 0,001.

En base 8, 3 chiffres après la virgule correspondent à une précision de 1/83 soit  0,002.
Si l'on veut convertir un nombre décimal en binaire avec une précision du millième, il faut aller jusqu'à 10 chiffres binaires après la virgule (en effet 1/210 = 1/1024  0,001).
  1. OPERATIONS ARITHMETIQUES



De façon générale, les règles habituelles utilisées en décimal ne changent pas mais bien sur il faut tenir compte de la base de travail :
Ainsi, en base 16 : 9 + 4 = D et 9 + C = 15 (ou 5 et une retenue de 1 vers la colonne de gauche)
Jusqu'ici, nous n'avons traité que les nombres positifs et on pourrait imaginer de traiter les nombres négatifs en mettant un signe moins devant comme d'habitude mais l'informatique, qui ne connaît que les 1 et les 0, traite différemment les nombres négatifs.

      1. Complément à 1



En décimal, on forme le complément à 9 d'un nombre en remplaçant chaque chiffre de ce nombre par sa différence avec 9.
ex : le complément à 9 de 6473, noté C9(6473) est 3526
En binaire, on forme le complément à 1 d'un nombre en remplaçant chaque chiffre de ce nombre par sa différence avec 1 (on remplace les 1 par des 0 et réciproquement).
ex : le complément à 1 de 11010, noté C1(11010) est 00101

      1. Complément à 2 (ou complément vrai)



En décimal, on forme le complément à 10 d'un nombre en remplaçant le chiffre des unités par sa différence avec 10 et les autres chiffres de ce nombre par leur différence avec 9.
ex : le complément à 10 de 6473, noté C10(6473) est 3527
On peut aussi dire que le complément à 10 d'un nombre s'obtient en le soustrayant de la puissance de 10 immédiatement supérieure à ce nombre : en effet 3527 = 10000 - 6473
On voit que le complément à 10 s'obtient en ajoutant 1 au complément à 9
En binaire, on va utiliser la règle ci-dessus et former le complément à 2 d'un nombre en ajoutant 1 au complément à 1
ex : le complément à 2 de 11010, noté C2(11010) est 00101 + 1 = 00110
On peut aussi dire que le complément à 2 d'un nombre s'obtient en le soustrayant de la puissance de 2 immédiatement supérieure à ce nombre : en effet 00110 = 100000 - 11010
Une astuce permet d'éviter cette addition : pour obtenir le complément à 2 d'un nombre, on conserve tous les bits à partir de la droite jusqu'au 1er 1 compris et on inverse tous les autres.


      1. Soustraction par complémentation à 2



Le but est de remplacer la soustraction par une addition

        1. En décimal



Soit à faire la soustraction suivante 742 – 568 ( = 174 )
Comme 568 = 1000 – 432, on peut écrire 742 – 568 = 742 – (1000 – 432) = 742 + 432 – 1000 = 174
Comme 432 est le complément à 10 de 568, on a en fait effectué l'opération suivante :
x – y = x + C10(y) – (puissance de 10 immédiatement supérieure à x)
Au lieu de soustraire 1000, il aurait suffit de négliger la dernière retenue dans le résultat.
En effet 742 + 432 = 1174 = 174 si on néglige le 1 de gauche
En résumé, au lieu de soustraire un nombre y d'un nombre x, on ajoute à x le complément à 10 de y et on oublie le (n + 1)ième chiffre si on travaille sur n chiffres.
Rem : si les 2 nombres x et y ne comportent pas le même nombre de chiffres, il faut rajouter des 0 devant y avant de chercher son complément à 10.

ex : 742 – 67 = 742 – 067 = 742 + 933 = (1)675 = 675
        1. En binaire



C'est pareil !! (avec la même remarque que ci-dessus)
x – y = x + C2(y) – (puissance de 2 immédiatement supérieure à x)
11100101 – 110111 = 11100101 – 00110111 = 11100101 + 11001001 = (1)10101110 = 10101110




Mais, pour l'instant, la soustraction x – y n'est toujours pas faisable si x < y
(sauf en effectuant y – x et en mettant moins devant le résultat !)

      1. Normalisation et nombres signés



Comme l'ordinateur ne comprend pas les signes + et -, on va les représenter par un bit de la façon suivante :
On commence par normaliser la taille à un nombre précis de bits par exemple 8 soit un octet.

On décide que le bit de gauche sera égal à 0 si le nombre est positif ou nul et à 1 si le nombre est négatif. Ce bit est appelé bit de signe et les nombres codés ainsi s'appellent nombres signés.
On applique les règles suivantes :
        1. Conversion décimal vers binaire signé




  • Si x10 est positif ou nul, on le convertit normalement en binaire.

  • Si x10 est négatif, on convertit sa valeur absolue en binaire et on en prend le complément à 2.


ex : 68 = 0100 0100 ; - 67 : |- 67| = 0100 0011 donc – 67 = C2(0100 0011) = 1011 1101

        1. Conversion binaire signé vers décimal





  • Si le bit de signe de x2 = 0, on le convertit directement en décimal

  • Si le bit de signe de x2 = 1, cela veut dire que x10 est négatif : on cherche le complément à 2 de x2, on le convertit en décimal et on rajoute un moins devant !


ex : 0111 0100 = 116 ; 1010 0010 : le bit de signe = 1 : le nombre est négatif : on en prend le
complément à 2 soit 0101 1110. On le convertit en décimal soit 94.
Donc 1010 0010 = - 94
        1. Limites


Comme on s'est limité à 8 bits, on ne pourra coder en binaire que 256 valeurs différentes.
En nombres non signés (donc exclusivement positifs) on pouvait aller de 010 (= 0000 00002)
à 25510 (= 1111 11112) soit 256 valeurs en tout car 256 = 28.
En nombres signés, le plus grand nombre commençant par un 0 (donc positif) est 0111 1111 = 127
Le nombre binaire suivant est 1000 0000 mais, comme il commence par un 1, il doit être considéré comme négatif : pour trouver sa valeur décimale, on en prend le complément à 2 soit 1000 0000 (c'est le même !) qui, converti en décimal, donne 128.

128 est donc la valeur absolue de 1000 0000 et on obtient en définitive 1000 0000 = - 128
Sur un octet les 256 valeurs codables en nombres signés vont donc de – 128 à + 127.
Le nombre 128 n'est pas codable en nombres signés sur 8 bits.

En nombres signés sur n bits, on peut coder les nombres de – 2 n-1 à 2 n-1 – 1.
Le tableau suivant regroupe quelques valeurs particulières des nombres signés et fait aussi apparaître les nombres hexadécimaux correspondants.

base 10

base 2

base 16

127

0111 1111

7F

126

0111 1110

7E

2

0000 0010

02

1

0000 0001

01

0

0000 0000

00

-1

1111 1111

FF

-2

1111 1110

FE

-127

1000 0001

81

-128

1000 0000

80


On constate que les valeurs positives sont codées
en hexadécimal de 00 à 7F et que les valeurs  8016
correspondent à des nombres négatifs.
        1. Opérations en nombres signés



Puisqu'on sait maintenant noter les nombres négatifs, on peut effectuer la soustraction x – y avec
x < y : le résultat est négatif, son bit de signe est à 1 et il suffit de le convertir comme vu ci-dessus.
ex : 0011 11 00 – 0101 0101 = 0011 1100 + 1010 1011 = 1110 0111 qui correspond à un nombre négatif à cause du 1 de gauche.
Pour calculer sa valeur décimale, on en prend le complément à 2 soit 0001 1001 et on le convertit en décimal soit 25. Le résultat de la soustraction est donc – 25.
Attention : dans la mesure où les nombres sont codés sur 8 bits, le résultat doit rester compris dans
l'intervalle – 128 … + 127. Un dépassement doit générer une erreur.

1   2   3   4   5   6   7   8   9   ...   19

similaire:

Cours I. Système décimal et définitions 7 iconCours système distribué

Cours I. Système décimal et définitions 7 iconCours système distribué

Cours I. Système décimal et définitions 7 iconCours 4 : la compréhension des œuvres Introduction : concepts généraux et définitions
«prothèses», qui sont des extériorisations de certaines capacités d’expression ou de fabrication. Notre moyen d’expression est aussi...

Cours I. Système décimal et définitions 7 icon* Cours de langue
«Etude sur le système suffixal du grec», sous la direction de M. Jean-Victor vernhes, Maître de Conférences à l'Université de Provence...

Cours I. Système décimal et définitions 7 icon* Cours de langue
«Etude sur le système suffixal du grec», sous la direction de M. Jean-Victor vernhes, Maître de Conférences à l'Université de Provence...

Cours I. Système décimal et définitions 7 iconDéfinitions

Cours I. Système décimal et définitions 7 iconTypographie : definitions

Cours I. Système décimal et définitions 7 iconIi généralités II définitions

Cours I. Système décimal et définitions 7 iconDéfinitions et Généralités

Cours I. Système décimal et définitions 7 iconArticle 1 : Définitions








Tous droits réservés. Copyright © 2016
contacts
ar.21-bal.com