Notation binaire - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Notation binaire

Description:

A l'aide d'interrupteurs ferm s pour 'vrai' et ouverts pour 'faux' il ... des op rations logiques en associant le nombre ' 1 ' pour 'vrai' et ' 0 ' pour 'faux' ... – PowerPoint PPT presentation

Number of Views:188
Avg rating:3.0/5.0
Slides: 23
Provided by: del4157
Category:

less

Transcript and Presenter's Notes

Title: Notation binaire


1
Notation binaire
2
Notation binaire
Reste à voir - Systèmes combinatoires de
base comment traiter des nombres binaires -
la simplification des fonctions booléennes
3
Notation binaire
A l'aide d'interrupteurs fermés pour "vrai" et
ouverts pour "faux" il est possible d'effectuer
des opérations logiques en associant le nombre "
1 " pour "vrai" et " 0 " pour "faux". Ce codage
est nommé binaire. C'est avec ce codage que
fonctionnent les ordinateurs. Il consiste à
utiliser deux états (représentés par les chiffres
0 et 1) pour coder les informations.
4
Notation binaire
5
Passage de la base 10 vers la base 2
La suite des restes obtenus correspond aux
chiffres dans la base 2, an a1 a0. Exemple
soit à convertir (44)10 vers la base 2. 44 22
x 2 0 gt a0 0 22 11 x 2 0 gt a1 0 11
2 x 5 1 gt a2 1 5 2 x 2 1 gt a3 1 2 1
x 2 0 gt a4 0 1 0 x 2 1 gt a5 1 Donc
(44)10 (101100)2.
6
Passage de la base 10 vers la base 2
Nombres fractionnaires Les nombres
fractionnaires sont ceux qui comportent des
chiffres après la virgule. On multiplie la partie
fractionnaire par la base en répétant lopération
sur la partie fractionnaire du produit jusqua ce
quelle soit nulle ( ou que la précision voulue
soit atteinte ). Pour la partie entière, on
procède par divisions comme pour un
entier. Exemple conversion de (54,25)10 en
base 2 Partie entière (54)10 (110110)2 par
divisions. Partie fractionnaire 0,25 x 2 0,50
gt a-1 0 0,50 x 2 1,00 gt a-2 1 0,00 x 2
0,00 gt a-3 0
7
Passage de la base 10 vers la base 2
Nombres fractionnaires Exemple
8
Passage de la base 10 vers la base 2
Entiers naturels Les entiers naturels (positifs
ou nuls) sont codés sur un nombre doctets fixé
(un octet est un groupe de 8 bits). On rencontre
habituellement des codages sur 1, 2 ou 4 octets,
plus rarement sur 64 bits. Un codage sur n bits
permet de représenter tous les nombres naturels
compris entre 0 et 2n -1. Par exemple sur 1
octet, on pourra coder les nombres de 0 à 255
28 - 1. On représente le nombre en base 2 et on
range les bits dans les cellules binaires
correspondant à leur poids binaire, de la droite
vers la gauche. Si nécessaire, on complète à
gauche par des zéros (bits de poids fort).
9
Passage de la base 10 vers la base 2
Entiers relatifs Il faut ici coder le signe du
nombre. On utilise le codage en complément à
deux, qui permet deffectuer ensuite les
opérations arithmétiques entre nombres relatifs
de la même façon quentre nombres naturels. 1.
Entiers positifs ou nuls On représente le
nombre en base 2 et on range les bits comme pour
les entiers naturels. Cependant, la cellule de
poids fort est toujours à 0 on utilise donc n -
1 bits. Le plus grand entier positif
représentable sur n bits en relatif est donc 2n-1
- 1. 2. Entiers négatifs Soit x un entier
positif ou nul représenté en base 2 sur n - 1
bits Et soit On constate facilement que x y
2n - 1 Or sur n bits, 2n - 1 est représenté par
n - 1 zéros, donc on a x y 0 modulo 2n - 1,
ou encore y -x. y peut être considéré comme
lopposé de x. La représentation de -x est
obtenue par complémentation à 2n - 1 de x. On dit
complément à deux. Pour obtenir le codage dun
nombre x négatif, on code en binaire sa valeur
absolue sur n - 1 bits, puis on complémente (ou
inverse) tous les bits et on ajoute 1.
10
Passage de la base 10 vers la base 2
Exemple soit à coder la valeur -2 sur 8 bits.
On exprime 2 en binaire, soit 00000010. Le
complément à 1 est 11111101. On ajoute 1 et on
obtient le résultat 1111 1110. Remarques (a)
le bit de poids fort dun nombre négatif est
toujours 1 (b) sur n bits, le plus grand entier
positif est 2n-1 - 1 011 1 (c) sur n
bits, le plus petit entier négatif est -2n-1.
Pour coder un entier relatif, recopier tels quels
les bits à partir de la droite jusqu'au premier 1
inclus, puis inverser les bits restants.
11
En résumé Complément à 2
Sur n bits, on peut représenter 2n nombres
différents. On choisit de représenter les nombres
compris entre -2n-1 et 2n-1-1. La représentation
des entiers positifs est identique à celle des
entiers naturels. La représentation dun entier
négatif p est la représentation en naturel de
lentier p2n (Excédent à 2n).
Intérêts du complément à 2
Signe valeur absolue nécessite 2 algorithme
pour les additions. Complément à 2 un seul
algorithme On voit le signe (0 positif 1
négatif) Pour une suite dopérations dont le
résultat théorique est représentable, même si il
y a des dépassements de capacité intermédiaires,
le résultat final est correct.
12
Valeurs de variables
28 256 Byte (octet) 0 à 255 216
65536 Entier simple -32 768 à 32 767 (2
octets 16 bits) 232 4 294 967 296 Entier
long -2 147 483 648 à 2 147 483 647
13
Valeurs de variables entiers relatifs
Complément à 2
Avec un codage sur n bits, on représente
l'intervalle de valeurs -2n-1 2n-1-1. Les
valeurs 0 à 2n-1-1 sont représentées directement
par les entiers 0 à 2n-1-1, Les valeurs -2n-1 à
-1 sont représentées par les entiers 2n-1 à 2n-1.
Si X vérifie -2n-1 X -1, alors X est codé
par 2nX. Exemple si on utilise 6 bits
14
Exemples de numérations
15
Codage des réels en virgule fixe Rappelons qu'un
nombre rationnel se compose de deux parties
distinctes une partie entière, située à gauche
de la virgule, et une partie décimale, située
après celle-ci. Pour ce qui est de la partie
entière, nous savons désormais parfaitement
l'exprimer en binaire. Pour la partie décimale,
chaque bit situé après la virgule correspond à
des puissances négatives de 2. Ainsi, comme le
binaire 11001 est égal à 1x241x230x220x211x20
- c'est-à-dire 25... ...le binaire 11001,011
est égal à 1x241x230x220 x 21 1 x 200 x
2-11 x 2-2 1 x 2-3 - c'est-à-dire 25,375.
Codage binaire des réels en virgule fixe. On
considèrera bien sûr ici qu'une virgule se trouve
présente avant le bit de plus fort poids. Vous
aurez bien sûr compris que tout comme il faut
généralement davantage de chiffres binaires (0,
1) que de chiffres décimaux (0..9) pour exprimer
un nombre donné, il faudra davantage de chiffres
binaires que de chiffres décimaux pour atteindre
un niveau donné de précision.
On dit représentation en virgule fixe car, comme
le processeur ne sait pas représenter le symbole
"virgule", il faut que l'emplacement de la
virgule soit défini une fois pour toute et ne
varie plus, quels que soient les nombres à
représenter.
16
Codage des réels en virgule fixe
Exemple mots de 3 bits
Addition
17
Codage des réels en virgule flottante Principe
de la notation scientifique Pour une meilleure
représentation des très grands ou très petits
nombres, on utilise une notation scientifique
sous la forme (-1)signe . Mantisse .
10Exposant ou en binaire (-1)signe .
Mantisse . 2Exposant où, bien sûr, mantisse et
exposant seront des nombres exprimés en binaire
tandis que le "2" constitue la base de la
représentation. Cette manière de considérer les
nombres est appelée arithmétique "à virgule
flottante" parce la virgule peut "flotter" tout
au long de la mantisse, il suffira simplement
d'ajuster l'exposant en conséquence. Ainsi, par
exemple 12647 126,47.102 1,2647.104
0,0012647.107 Ceci reste vraie en binaire. Ainsi
11001 1100,1.21 1,1001.24 0,11001.25
18
(No Transcript)
19
Codage des réels en virgule flottante (suite) Un
processeur utilise généralement la notation en
virgule flottante pour coder les réels avec La
base, par définition toujours égale à 2, sera
omise,  Le signe de la mantisse sera indiqué
par le bit de plus haut poids de la
représentation binaire 0 (positif), 1
(négatif),  L'exposant sera codé selon une
représentation biaisée,  La mantisse sera
normalisée car elle sera toujours de la forme
"1,....". Cette constance nous permet domettre
ce premier bit (on parle de bit "caché") et de
gagner un bit supplémentaire pour la précision.
La mantisse s'exprimera alors comme un nombre
réel à virgule fixe, toujours compris dans
l'intervalle décimal 1,2   La taille totale en
bits du signe, de la mantisse et de l'exposant
sera généralement un multiple d'octets. Le
processeur n'alloue qu'un nombre fixe de bits au
codage des nombres, il s'avère impossible de
pouvoir représenter très fidèlement tous les
réels de la création. Cette remarque s'applique
non seulement aux nombres irrationnels ou
rationnels périodiques, mais également aux
rationnels qui nécessiteraient un trop grand
nombre de chiffres après la virgule, et même aux
entiers trop grands pour être représentés. Ainsi,
il est facile de comprendre que ce principe de
codage ne permet de représenter qu'un nombre fini
de valeurs. Conséquence immédiate un processeur
sera très souvent contraint de faire appel à des
approximations pour représenter les nombres qu'il
manipule. Autre remarque inhérente à cette
notation scientifique toutes les valeurs
représentables ne se trouvent pas régulièrement
espacées entre elles. En effet, l'éventail des
valeurs codées se resserre autour de l'origine et
s'espace progressivement vers les infinis.
20
Représentation des nombres réels La
représentation des nombres en 32 et 64 bits
(taille des mots dans les processeurs actuels)
est indiquée dans la figure et la table
ci-dessous.
Nombre de bits Taille de s Taille de f
Taille de e Emin Emax 32 (simple
précision) 1 23 8
-126 127 64 (double précision)
1 52 11 -1022
1023
21
Représentation des nombres réels La
représentation des nombres en 32 et 64 bits
(taille des mots dans les processeurs actuels)
est indiquée dans la figure et la table
ci-dessous.
22
Le problème de la précision dans lutilisation
des nombres réels Voyons limpact et
laccumulation des erreurs darrondi dans
lexécution dun programme informatique. Soit le
programme suivant écrit en C, on rappelle que le 
type float est bien conforme au standard single
precision de la norme IEEE754 main() float
var 0.0 while (var ! 1.0)var0.1 printf(
Fin ) Ce programme ne sarrêtera jamais!
Voici un exemple très explicite dont lexécution
semble à première vue très prévisible, mais qui
montre finalement le cafouillage dû à la
représentation des nombres réels dans
lordinateur. La variable var est incrémentée de
0.1 à chaque passage dans la boucle, à un moment
elle va contenir une valeur infiniment proche de
la valeur 1.0, mais laccumulation des arrondis
sur les incrémentation successives de cette
variable va faire en sorte que légalité entre
ces 2 valeurs ne sera pas validée par le
programme pour sortir de la boucle. 3.2
Généralisation Les problèmes darrondis sont
dautant plus flagrants lorsque lon souhaite
effectuer des opérations sur des nombres très
grand et très petit. En fait chaque langage de
programmation défini ses propres règles sur
lutilisation des nombres réel et certains
restent justement très flous dans cette
définition à cause de laccumulation inévitable
de lerreur darrondi. 3.3 Solution Pour les
applications courantes la précision de la norme
IEEE754 suffit pour la représentation des nombres
réels, mais lorsquil sagit deffectuer des
calculs lourds avec une très grande précision par
exemple dans la recherche ou dans laérospatial,
cette norme ne suffit plus, cest pourquoi
dautres alternatives ont été trouvées pour
essayer de contourner ce problème.
Write a Comment
User Comments (0)
About PowerShow.com