Vous êtes sur la page 1sur 25

IUT de BREST

département Génie Mécanique et Productique

F128 Bases Automatismes

OUTILS de BASE des AUTOMATISMES

Systèmes automatisés - logique combinatoire

Algèbre de BOOLE

Numération

Fonctions logiques et arithmétiques

CR/BF F128_Outils-Bases-Automatismes_12.odt Page 1 sur 25


I - Système Automatisé de Production (SAP)........................................................................................4
I.A Structure d'un SAP.................................................................................................................................5
I.A.1 la Partie Opérative (PO)............................................................................................................................................5
I.A.2 la Partie Relation (PR) ou Interface Homme Machine (I.H.M)................................................................................5
I.A.3 La Partie Commande (PC ).......................................................................................................................................6
I.B Automatismes et les grandeurs binaires................................................................................................6
I.B.1 Les grandeurs continus (analogique).........................................................................................................................6
I.B.2 Les grandeurs discontinus (logique)..........................................................................................................................6
I.B.3 Les automatismes logiques combinatoires et séquentielles......................................................................................6
II - Algèbre de BOOLE...........................................................................................................................6
II.A Introduction............................................................................................................................................6
II.B Cadre mathématique formel :...............................................................................................................7
II.B.1 Propriétés des opérations.........................................................................................................................................7
II.B.2 Théorèmes et relations remarquables.....................................................................................................................8
II.B.3 Fonction booléennes et table de vérité.....................................................................................................................8
II.C Représentations des opérateurs logiques.............................................................................................9
II.D Tableau de Karnaugh :.....................................................................................................................10
III - Les numérations liées au binaire................................................................................................12
III.A Nombres entiers positifs Non Signés (Unsigned).............................................................................12
III.A.1 Expresssion d'un nombre N dans une base B quelconque....................................................................................12
III.A.2 Codage binaire pur...............................................................................................................................................12
III.A.3 Codage hexadécimal.............................................................................................................................................13
III.A.4 Codage BCD (Binary Coded Decimal)...............................................................................................................14
III.A.5 Codage binaire réfléchi : code Gray.....................................................................................................................14
III.A.6 Arithmétique binaire.............................................................................................................................................15
III.B Nombres entiers relatifs.....................................................................................................................16
III.B.1 Codage décimal....................................................................................................................................................16
III.B.2 Codage binaire en complément à 2.......................................................................................................................16
III.C Nombres réels.....................................................................................................................................17
IV - Fonctions fondamentales : les masques.......................................................................................18
IV.A Forçage de bits à 0 :ET logique (AND) entre mots..........................................................................18
IV.B Forçage de bits à 1 :OU inclusif (OR) entre mots...........................................................................18
IV.C OU exclusif (XOR) entre mots..........................................................................................................19

CR/BF F128_Outils-Bases-Automatismes_12.odt Page 2 sur 25


INTRODUCTION

Après être passé de l'ère manuelle à l'ère mécanisée , le monde moderne est à l'heure de
l'automatisation, de la robotisation et de l'informatique.
Ceci est effectif dans le milieu industriel mais également dans la vie courante : programmateurs
pour l'électroménager,calculatrices,ordinateurs personnels, télématique,......
Dans le domaine industriel où elle est implantée depuis longtemps,les progrès de
l'automatisation sont considérables et les matériels utilisés de plus en plus sophistiqués.

Justification de l'automatisation

Les critères qui favorisent l'introduction d'un automatisme dans un domaine quelconque sont
nombreux et de sources différentes. Voyons-en quelques uns.

a) La productivité
Dans beaucoup de cas, l'automatisation entraîne un gain de temps important, rapidité
d'exécution et rationalisation des installations, ce qui permet un plus grande productivité.

b) La précision et la qualité
La précision du travail manuel étant variable d'un opérateur à un autre (qualités manuelles et
qualification professionnelle) et étant variable dans le temps (fatigue), l'automatisation permet de
"stabiliser" celle-ci de manière à assurer la constance de la qualité du produit.

c) La sécurité
L'automatisation s'avère nécessaire et parfois indispensable partout où la complexité et la
spécificité des installations (espace, milieu sous marin, radioactivité, ...) peuvent entraîner des risques
d'accidents pour les personnels.

Conséquences de l'automatisation

S'il est vrai qu'elle permet une plus grande compétitivité des entreprises, il est évident qu'elle
aboutit en un déficit très important en emplois . Le nombre d'emplois supprimés (taches répétitives de
faible qualification) est de loin supérieur au nombre d'emplois créés (conception, réalisation,
programmation et maintenance des automatismes).
D'autre part, ces derniers emplois requièrent un niveau de qualification assez élevé et ce
d'autant que "l'automatique" est devenue un carrefour de technologies (pneumatique, hydraulique,
informatique, électronique...) en évolution rapide.
Ceci a des conséquences importantes dans beaucoup de domaines :
• Les ressources des services sociaux (systèmes de santé et de retraite) sont fortement
affectées (les machines automatiques ne payent pas de cotisations sociales, ce qui est
fortement regrettables, mais mondialisation oblige !!!! ).
• La formation initiale des jeunes doit être prolongée.
• La formation continue devient indispensable.
• La reconversion des salariés licenciés est difficile et parfois impossible.....

CR/BF F128_Outils-Bases-Automatismes_12.odt Page 3 sur 25


I - Système Automatisé de Production (SAP)
- le système manuel : les ordres et les comptes rendus sont gérés par l'opérateur
l'effort musculaire est fourni par l'opérateur
MATIÈRE

Énergie musculaire
Actions
Force
et
Savoir faire
de l'opérateur
Evènements
Informations sensorielles

MATIÈRE ET VALEUR AJOUTÉE

-le système automatisé : l'opérateur est totalement externe au système


l'opérateur intervient en cas de nécessité: panne par exemple

Partie Relation, Partie Commande, Partie Opérative


PR PC
ÉNERGIE MATIÈRE

P Pré-actionneurs ACTIONNEURS
U Ordres
Surveillance P
I
T
API
PO Actions
PO
R Compte-rendus
E Capteurs Évènements

IHM
MATIÈRE ET VALEUR AJOUTÉE

Demande de
mise en énergie
Choix du mode
Interface Automate
de production
Homme Programmable
Surveillance
Arrêt d'Urgence Machine Industriel

CR/BF F128_Outils-Bases-Automatismes_12.odt Page 4 sur 25


I.A Structure d'un SAP

Dans un système automatisé de production, on peut mettre en évidence les trois parties :
Partie Opérative (PO), Partie Relation (PR) et Partie Commande (PC)

I.A.1 la Partie Opérative (PO)


La partie opérative opère sur la matière d'oeuvre (le produit) afin de lui donner une valeur
ajoutée (usinage, tri, conditionnement). Elle regroupe :
• Les effectueurs : dispositifs terminaux qui agissent directement sur la matière d'oeuvre : outils
de coupe, pompes, têtes de soudage, etc...
• Les actionneurs sont les composants chargés de convertir l'énergie afin de l'adapter aux
besoins des effectueurs : moteurs, vérins, résistances de chauffage, etc...
• Les pré-actionneurs : éléments chargés :
° d'adapter le faible niveau énergétique des commandes en sortie de la PC au besoin du
contrôle des actionneurs.
° de distribuer ou de moduler l'énergie délivrée par la source aux actionneurs
relais, contacteurs, distributeurs, variateurs de vitesse, etc....
• Les capteurs qui assument la prise d'informations et la mesure de grandeurs sur la matière
d'oeuvre directement, ou sur les effectueurs ou les actionneurs afin de renseigner la PC et la PR
de l'état de réalisation des actions commandées : fin de course de vérin, détecteur de position,
capteur de température, etc....

I.A.2 la Partie Relation (PR) ou Interface Homme Machine (I.H.M)


La partie relation comporte le pupitre de dialogue homme - machine équipé :
• des organes de commande :
° de la mise en/hors énergie de l'installation
°de la sélection des modes de marche et d'arrêt
° manuelles des actionneurs
° de la mise en référence, du départ des cycles, de l'arrêt d'urgence
• des signalisations telles que :
° afficheurs
° voyants lumineux
° écrans de supervision
° klaxons, sonneries, etc.....
CR/BF F128_Outils-Bases-Automatismes_12.odt Page 5 sur 25
I.A.3 La Partie Commande (PC )
La partie commande coordonne les actions de la partie opérative en relation avec la partie
relation. Elle regroupe les composants de logique câblée (relais électromagnétiques, composants
électroniques, etc...) et de logique programmée (API, cartes à microprocesseurs standards ou
spécifiques, ordinateurs, etc...) destinés au traitement des informations émises par les organes de
commande de la PR et les capteurs de la PO.
Les ordres résultants du traitement sont transmis aux pré-actionneurs de la PO et aux
composants de signalisation de la PR.

I.B Automatismes et les grandeurs binaires


I.B.1 Les grandeurs continus (analogique)
Le nombre des états d'une entrée ou d'une sortie est infini. La plupart
des grandeurs physiques mesurables qui nous entourent sont des quantités
analogiques et peuvent être représentées par exemple en fonction du temps et
pouvant prendre une infinité de valeur sur un intervalle borné en amplitude.

I.B.2 Les grandeurs discontinus (numérique)


Le nombre d'états d d'une entrée ou d'une sortie est fini. Si on prend le
signal précédent il peut être échantillonné en différents points discrets dans le
temps. Ces valeurs pour qu'elles deviennent des quantités numériques devront être
quantifiées puis numérisées (conversion analogique numérique).
I.B.3 Les automatismes logiques combinatoires et séquentielles
On distingue 2 types d'automatismes logiques:

combinatoires séquentiels
Les états des sorties ne dépendent que de l'état des entrées. Les états des sorties à l'instant t dépendent des états des
Le fonctionnement du système ne dépend pas du temps.La entrées et de l'état dans lequel se trouvait le système
même cause (même combinaison des entrées) produit antérieurement. Le fonctionnement du système dépend de
toujours le même effet (même état des sorties). L'effet son passé. Une même cause (même combinaison des
disparaît lorsque la cause disparaît. entrées) peut produire des effets différents.

S=ab . c
b c E S
S S = F(E, St-1)

a St-1
Retard
Exemple : pour commander un perceuse on dispose de deux
boutons poussoir marche et arrêt. Pour les deux état
identiques des boutons poussoirs relachés, on peut avoir la
perceuse en fonctionnement ou à l'arrêt. Dans la logique
séquentiel on tient compte des entrées mais aussi de la
succession de celle-ci.

CR/BF F128_Outils-Bases-Automatismes_12.odt Page 6 sur 25


II - Algèbre de BOOLE
II.A Représentations des opérateurs logiques
symbole équation symbole symbole logique Schéma à contacts Table de vérité
logique américain (ANSI) électriques
européen
(IEC)
OUI s=a a s
= a s 0 0
a s a s
1 1

NON s=a a
=
s a s a s a s
(not) 0 1
1 0

s = ab a a
a
OU 1
a b s
b
s
b s s
(or) 0 0 0
b
0 1 1
1 0 1
1 1 1

ET s = a⋅b a
&
s
a
b
s a b s a b s
(and) b 0 0 0
0 1 0
1 0 0
1 1 1
NON ET a b s
(nand)

NON OU s = a b
a
1 a s a b s a b s
s b
(nor) b 0 0 1
0 1 0
1 0 0
1 1 0
a a s
Ou s = a⊗b = a⋅ba⋅b 1
s a s b a b s
exclusif b b
b 0 0 0
(xor) a 0 1 1
1 0 1
1 1 0

Quelques représentations de schéma à contact

X X

0 1

CR/BF F128_Outils-Bases-Automatismes_12.odt Page 7 sur 25


II.B Introduction
L'algèbre de BOOLE est une algèbre qui opère sur information logique binaire pouvant prendre deux valeurs distinctes ou
état :
0 / Faux / False /'L' 1 / Vrai / True/'H'
ou ouvert ou fermé, arrêt ou marche, inactif ou actif, relâché ou enfoncé,...

II.C Cadre mathématique formel :


Ensemble de deux symboles E = [ 0 , 1 ]

muni de 3 lois de composition interne ( opérateurs agissant dans E )

1 - Complémentation booléenne : NON notée par un surlignement a , un soulignement a


ou une barre adjacente a/

2 - Addition booléenne : OU notée "OU" ou "+"

3 - Multiplication booléenne : ET notée "x" ou "."

II.C.1 Propriétés des opérations


1 - La complémentation est involutive, c'est-à-dire :
∀x∈E x= x

2 - L'addition et la multiplication sont idempotentes, c'est-à-dire :


∀x∈E x + x = x et x . x = x

3 - L'addition et la multiplication sont commutatives, c'est-à-dire :


∀ x ∈ E et ∀ y ∈ E x+y=y+x ; x.y = y.x

4 - L'addition et la multiplication sont associatives, c'est-à-dire :


∀ x,y,z ∈ E (x + y) + z = x + (y + z) = x + y + z
(x.y) . z = x . (y.z) = x . y . z

5 - L'addition est distributive sur la multiplication.


(faux en algèbre classique)
∀ x,y,z ∈ E x + y.z = (x + y).(x + z) = x.x + x.z+ y.x + y.z = x + x.z+ y.x+ y.z = x (1+z)+y x+ y.z=
= x +y.x+ y.z= x (1+y) +y.z = x.1+ y.z= x+ y.z

La multiplication est distributive sur l'addition.


(vrai en algèbre classique)
∀ x,y,z ∈ E x.(y + z) = x.y + x.z

6 - Il existe un élément neutre de E, noté 0 pour l'addition.


Il existe un élément neutre de E, noté 1 pour la multiplication.
∀x∈E x + 0 = x et x . 1 = x

7 - L'élément neutre de la multiplication, "1", est absorbant pour l'addition.


L'élément neutre de l'addition, "0", est absorbant pour la multiplication.
∀x∈E x + 1 = 1 et x . 0 = 0

8 - Symétriques identiques pour l'addition et la multiplication :


∀x∈E x + x=1 et x . x=0

9 - Postulat de DE MORGAN.
∀ x, y ∈ E x y =x . y ; x . y= x y

CR/BF F128_Outils-Bases-Automatismes_12.odt Page 8 sur 25


II.C.2 Petit résumé à connaître !!

II.C.3 Théorèmes et relations remarquables

Th.1 - Adjacence : A . B A. B= B Dém.: A.B A. B= A A . B=1 . B= B

Th.2 - Absorption : A + A.B = A Dém.: A + A.B = A .(1+ B) = A . 1 = A

- Optimisation: AA. B=A B Dém.: A + A/.B = A + A.B + A/.B = A + (A + A/).B


= A + 1.B = A + B
Th.4 - De Morgan : ABC =A . B . C
A . B. C= ABC

II.C.4 Exemple de simplification

L1=a . a . b+ a=¿

S1=(a . b+c . d )

II.C.5 Fonction booléennes et table de vérité


CR/BF F128_Outils-Bases-Automatismes_12.odt Page 9 sur 25
Une fonction booléennes est une quantité booléenne fonction de plusieurs variables booléennes.

Exemple de fonction pour 3 variables : f  A , B , C =C . AB 

La table de vérité donne pour 2n combinaisons des n variables l'état de la fonction.

Variables en entrées Fonction


en sortie
poids Termes produit A B C f(A,B,C)
0 a .b . c 0 0 0 0
1 a .b . c 0 0 1 1
2 a .b . c 0 1 0 0
3 a .b . c 0 1 1 0
4 a .b . c 1 0 0 0
5 a .b . c 1 0 1 1
6 a .b . c 1 1 0 0
7 a .b . c 1 1 1 1

A partir de la table de vérité on établit la fonction logique en sommant l'ensemble des produits de
variables qui définissent la fonction à 1.

F (a , b , b)=a . b . c+ a . b . c+ a . b . c

CR/BF F128_Outils-Bases-Automatismes_12.odt Page 10 sur 25


II.D Tableau de Karnaugh :
Pour les relations à faible nombre d'entrées, le tableau de Karnaugh remplace la table de vérité et permet
de simplifier l'équation booléenne que l'on obtiendrait à partir de cette table. L'ordonnancement des cases du tableau
est réalisé en suivant la progression binaire réfléchi (Code Gray)
* pour 1 variable : 21 = 2 états : 0,1
* pour 2 variables : 22 = 4 états : 00 , 01 , 11 , 10
* pour 3 variables : 22 = 8 états : 000 , 001 , 011 , 010 , 110 , 111 , 101 ,100
Cette progression diffère de la progression numérique binaire croissante et permet à une seule variable de
changer d'état à chaque étape, c'est-à-dire pour les cases adjacentes des tableaux de Karnaugh représentés ci-dessous :

Pour une équation à simplifier de n variables il y a 2n combinaisons sous forme de produit logique à répartir dans le tableau
de Karnaugh.

Exemple : Pour F( A,B,C) il existe 23 produits logiques que l'on peut répartir :

a b,c 00 01 11 10
/a a .b . c a .b . c a .b . c a .b . c
0 0 1 3 2
a a .b . c a .b . c a .b . c a .b . c
1 4 5 7 6

a b,c 00 01 11 10
0 a .b . c a .b . c a .b . c a .b . c
0 1 3 2
1 a .b . c a .b . c a .b . c a .b . c
4 5 7 6

Simplification et utilisation du tableau de Karnaugh

Le tableau de Karnaugh étant codé en binaire réfléchi il possède des axes de symétrie permettant d'étendre la notion de
cases adjacentes ainsi par exemple

a b,c 00 01 11 10
0 a .b . c a .b . c a .b . c a .b . c
0 1 3 2
1 a .b . c a .b . c a .b . c a .b . c
4 5 7 6

la case 5 possède les 3 cases adjacentes 1, 4 , 7,

la case 2 possède les 3 cases adjacentes 3, 6 , 0

la case 4 possède les 3 cases adjacentes 0, 5 , 6

la case 3 possède les 3 cases adjacentes 1, 2 , 7

CR/BF F128_Outils-Bases-Automatismes_12.odt Page 11 sur 25


La combinaison de cases adjacentes va permettre d'éliminer des variables en utilisant le théorème d'adjacence
.
A . B A. B= B

Le travail de simplification de l'équation consiste à repérer et grouper ces adjacences.

Règles de minimisation par le tableau de Karnaugh :

– Chercher tous les "1" formant des groupes de 16, puis de 8, puis de 4 et en fin de 2.

– Les regrouper et écrire le monôme réduit en absorbant (faisant disparaître) la variable qui a permis le
regroupement par deux (c'est-à-dire celle qui change).

- Enfin, écrivez la fonction "f", décrite par le diagramme, sous la forme d'une addition booléenne de tous les
monômes réduits.

Remarque : un "1" peut être utilisé dans plusieurs regroupements. En effet, il suffit d'appliquer
l'idempotence de l'addition qui permet de dédoubler un terme (a.b = a.b + a.b) :
exemple : f a ,b =a.ba . ba. b=a . ba .ba .ba .b =ba

CR/BF F128_Outils-Bases-Automatismes_12.odt Page 12 sur 25


Exemple 1 : Schémas, table de vérité, chronogrammes, équations et

a
≥1
a b c s b
S
0 0 0 c &
0 0 1
0 1 0
s=
0 1 1 a t
1 0 0 b
1 0 1
c
1 1 0
1 1 1 S

S=

s bc 00 01 11 10
a
0 ā . b̄ . c̄ ā . b̄ . c ā . b . c ā . b . c̄
1
a . b̄ . c̄ a . b̄ . c a.b.c a . b . c̄

b,c 00 01 11 10
a
0
1

CR/BF F128_Outils-Bases-Automatismes_12.odt Page 13 sur 25


Exemples :

a b,c 00 01 11 10
0 1 1 0 0
1 1 0 1 0
F (a,b,c) =

a b,c 00 01 11 10
0 1 1 1 0
1 0 1 1 1
F (a,b,c) =

a,b c,d 00 01 11 10

00 1 1 0 1

01 0 0 1 1
11 0 0 1 1
10 1 0 0 1
F (a,b,c) =

Si un état du système est impossible, notamment pour des raisons technologiques, la case correspondante est indéterminée
(notée "Ø" ou "X") et peut être prise comme un "1" ou un "0" à votre gré.

a,b c,d 00 01 11 10

00 0 1 0 0

01 Ø 1 0 1
11 Ø 1 0 0
10 0 1 0 1
F (a,b,c) =

CR/BF F128_Outils-Bases-Automatismes_12.odt Page 14 sur 25


Exemple de problème ….

Méthode de simplification Méthode de simplification


algébrique par tableau de Karnaugh

M dc 00 01 11 10
pe
00

01

11

10

CR/BF F128_Outils-Bases-Automatismes_12.odt Page 15 sur 25


III - Les numérations liées au binaire
Vocabulaire : élément binaire (eb) ou Binary digIT (BIT)
quartet bloc de 4 bits
octet (byte) bloc de 8 bits
mot (word) bloc de 2, 4 ou 8 octets; 16, 32 ou 64 bits
Ces blocs peuvent contenir entre autres :
• un ensemble d'informations logiques
• le code en binaire d'un nombre entier positif , entier relatif, ou réel dans un système de numération.
• le code d'un caractère texte imprimable ou d'un caractère de contrôle : ex. code ASCII
• le code binaire nécessaire à un processeur et traduisant une instruction exécutable.

III.A Nombres entiers positifs Non Signés (Unsigned)

III.A.1 Expression d'un nombre N dans une base B quelconque


Il s'agit de coder des nombres dits Non Signés (Unsigned), et l'entier entier positif peut être exprimé avec "n"
symboles appelés chiffres (an-1, an-2, ... , a0) en numération de base "B" avec ai Є {0, B-1}

( N ) B = an − 1an − 2 ... a0 = an − 1 B n − 1 + an − 2 B n − 2 + ... + a0 B 0

Exemple en base 10 :

(3507)10 = 3.103 + 5.10 2 + 0.101 + 7.10 0

III.A.2 Codage binaire pur


La base "B" est égale à 2 .
Les chiffres (digits numériques) utilisés sont par convention, "0" et "1".
Un nombre de "n" chiffres significatifs peut coder un entier compris entre 0 et 2n-1 donc pour 1 octet (8 bits)
l'entier est compris entre 0 à 255 et sur 2 octets (16 bits) entre 0 à 65535.
Exemple sur 3 bits :
Binaire pur
decimal
2
2 1
2 0
2
0 0 0 0
0 0 1 1
0 1 0 0 x 2 + 1x 2 + 0x 2
2 1 0
2
3
4
5
6
7

F128_Outils-Bases-Automatismes_12.odt Page 16 sur 25


III.A.3 Codage hexadécimal
La base "B" est égale à 16 = 24; le transcodage binaire - hexadécimal est très simple.
sur 1 digit : codage de (16)10 valeurs de 0 à (15)10.
sur 2 digits : codage de (256)10 valeurs de 0 à (255)10.
sur 4 digits : codage de (65536)10 valeurs de 0 à (65535)10.

Binaire pur hexadécimal décimal


23 22 21 20
0 0 0 0 0 0
0 0 0 1 1 1
0 0 1 0 2 2
3 3
4
5
6
7
8
9
10
11
12
13
14
15

III.A.4 Changement de base X vers décimal

Conversion hexadécimal en décimal


Exemple : (20B3)16 à convertir en décimal

2.163 + 0.16 2 + 11.161 + 3.16 0 = (8371)10

Binaire vers décimal

Exemple : (11001)2 à convertir en décimal


1. 24 +1. 23+ 0.22+0.21+ 1.20 = (25)10

F128_Outils-Bases-Automatismes_12.odt Page 17 sur 25


III.A.5 Changement de décimal vers base X
Conversion du décimal en binaire :
Pour convertir de la base 10 vers la base 2, il faut faire les divisions successives par la base B=2 jusqu'à ce que le quotient
soit égal à 0 , les restes successifs avec une lecture de droite à gauche et écriture (de gauche à droite) donnent le nombre
dans la base 2 :

exemple: convertir (357)10 en base 2

357 ÷ 2  r = 1→ 178 ÷ 2  r= 0→ 89 ÷ 2  r = 1→ 44 ÷ 2  r= 0→ 22 ÷ 2  r= 0→ 11 ÷ 2  r = 1→ 5 ÷ 2  r = 1→ 2  r= 0→ 1 ÷ 2  r = 1→ 0


(357)10 = ( 101100101 ) 2

F128_Outils-Bases-Automatismes_12.odt Page 18 sur 25


Conversion décimal en hexadécimal :
Pour convertir de la base 10 vers la base 16, il faut faire les divisions successives par la base B=16 jusqu'à ce que le
quotient soit égal à 0 , les restes successifs avec une lecture de droite à gauche et écriture (de gauche à droite) donnent le
nombre dans la base 16 :

exemple : convertir (714)10 en base 16

714 ÷ 16  r=10→ 44 ÷ 16  r=12→ 2 ÷ 16  r= 2→ 0

avec (10)10 = (A)16, (12)10=(C)16 on a donc (714)10 = ( 2CA )h = % 0010 1100 1010

F128_Outils-Bases-Automatismes_12.odt Page 19 sur 25


III.A.6 Codage BCD (Binary Coded Decimal)
En français DCB : Décimal Codé en Binaire
Chaque chiffre décimal {0 à 9}, quel-que-soit son poids, est représenté,en BCD (dit BCD 8421), par son code
binaire pur sur quatre bits.
ex. :
 9310= 1001 0011 BCD attention  1001 0011 BCD < > 1001 0011 2 = 9∗163 10 = 14710

III.A.7 Codage binaire réfléchi : code Gray


Utilisé, par exemple, pour numéroter des positions successives par un code ne variant que par un seul digit dans sa
progression. Ceci différencie ce code du décimal ou du binaire pur qui, en passant par exemple de la 9ième à la 10ième position
voient deux digits changer simultanément :
Exemple : en décimal 09 → 10 ou en binaire pur 1001 → 1010
alors qu'un seul digit change pour le code Gray : Même exemple en Code Gray 1101 → 1111

Binaire pur Binaire réfléchi


(code gray)
23 22 21 20
a3 a2 a1 a0 r3 r2 r1 r0
0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1

0 0 1 0 0 0 1 1
0 0 1 1 0 0 1 0

0 1 0 0 0 1 1 0
0 1 0 1 0 1 1 1

0 1 1 0 0 1 0 1
0 1 1 1 0 1 0 0

1 0 0 0 1 1 0 0
1 0 0 1 1 1 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1

F128_Outils-Bases-Automatismes_12.odt Page 20 sur 25


III.A.8 Arithmétique binaire

Les quatre opérations arithmétiques de base sont les suivantes :

Addition
Remarque : Ne pas confondre l'addition arithmétique avec la fonction logique OU inclusif utilisant le même
symbole "+".
Addition binaire somme retenue
0+0 0 0
0+1 1 0
1+0 1 0
1+1 0 1

Exemples :
1+1+1= 10 + 1 = 11

1
10
+ 11
____
10 1

Soustraction

Soustraction binaire différence retenue


0-0 0 0
0-1 1 1
1−0 1 0

1−1 0 0

Multiplication et Division
La multiplication binaire est réalisée simplement en La division binaire est réalisée en effectuant
effectuant une addition de nombres binaires décalés vers la une suite de soustractions de nombres binaires
gauche. décalés vers la droite.

1011 = 11 110111 (55) 101(5)


101 = 5 101
1011 1011 (11)
0011
0000 000
1011
0111
110111 = 55 101
0101
101
000

F128_Outils-Bases-Automatismes_12.odt Page 21 sur 25


Une autre opération : la comparaison
Soient deux nombres A et B à comparer; ai et bi les bits de rang "i" de ces nombres. Un comparateur fournit en sorties trois
informations : plus Grand (SG), plus Petit (SP) et Egal (SE).
a b a<b a=b a>b
0 0
0 1
1 0
1 1

III.B Nombres entiers relatifs


Il s'agit de coder des nombres dits Signés (Signed)

III.B.1 Codage décimal


Utilisation d'un symbole appelé "signe", + ou -, précédant la valeur absolue du nombre codé.
ex.: +242 -14 etc...

III.B.2 Codage binaire en complément à 2


L'intérêt du codage en complément à 2 réside dans le fait que la soustraction entre nombres codés en binaire pur est
remplacée par une addition au premier nombre avec le second qui est codé en complément à 2; il n'est donc pas nécessaire
d'avoir un circuit spécifique pour la soustraction.

Le codage binaire en complément à 2 va consacrer le bit de poids fort au codage du signe et les autres bits vont servir à
coder la valeur absolue. En conséquence un nombre signé N est représenté par sa valeur absolue ∣N ∣ si N>0 et par son
complément à 2 si N<0. Si le format pour exprimer un nombre signé N est limité à n bits, le nombre de combinaison
possible est 2n, soit pour N un intervalle tel que : -2n-1 ≤ N ≤ 2n-1 - 1

exemple pour N limité à 4 bits

Bit de Valeur Nombre décimal signé en complément à 2


signe absolue
23 22 21 20 Poids du Valeur Nombre signé
bits de signe absolue
0 1 1 1 0 x (-23) + 7=
0 1 1 0 0 x (-23) + 6=
3
0 1 0 1 0 x (-2 ) + 5=
3
0 1 0 0 0 x (-2 ) + 4= N>0
3
0 0 1 1 0 x (-2 ) + 3=
3
0 0 1 0 0 x (-2 ) + 2=
3
0 0 0 1 0 x (-2 ) + 1=
0 0 0 0 0 x (-23) + 0= 0
3
1 1 1 1 1 x (-2 ) + 7=
3
1 1 1 0 1 x (-2 ) + 6=
1 1 0 1 1 x (-23) + 5=
3
1 1 0 0 1 x (-2 ) + 4= N<0
3
1 0 1 1 1 x (-2 ) + 3=
1 0 1 0 1 x (-23) + 2=
3
1 0 0 1 1 x (-2 ) + 1=
3
1 0 0 0 1 x (-2 ) + 0=

F128_Outils-Bases-Automatismes_12.odt Page 22 sur 25


Pour coder en complément à 2 à 2 sur 8 bits (un octet) il faut :
• pour le bit de poids forts ici b7
si N >= 0 => bit de poids fort b7 = 0
sinon N<0 => bit de poids fort b7 = 1

• pour les 7 autres bits b6 à b0, ils vont servir au codage de la valeur absolue suivant la procédure ci-dessous :

entier positif ⇒ b6 à b0 : code binaire pur de la valeur absolue


entier négatif ⇒ a) coder en binaire la valeur absolue du nombre décimal
b) inverser tous les bits; c'est la complémentation à 1
c) additionner 1 au complément à 1 obtenue précédemment
Les étapes b) et c) constitue l'opération de Complémentation à 2.

exemple : (- 14)10 à coder sur 8 bits


a) bit b7 =1
b) valeur absolue 000 1110
c) complément à 1 111 0001
d) additionner +1 111 0010
resultat (- 14)10 = (1111 0010)2/

procédure rapide : si l'entier est négatif, ajouter 256 (correspondant à l'étendue sur 8 bits) et coder en binaire pur :
(- 14)10 + 256 = 242 = 15 . 16 + 2 = (F2)16 = (1111 0010)2/

III.C Nombres réels


Même représentés en complément à 2 sur 8 octets, les entiers relatifs sont limités à une valeur absolue de l'ordre de
9 . 1018.
Pour le calcul sur les grands nombres entiers ou sur les nombres décimaux, plusieurs normes pour la représentation
des nombres réels sur ordinateur sont utilisées :

norme IEEE-754. : codage de la représentation binaire scientifique en virgule flottante

± 1, mmmm....mmmm × 2 eeeee...eeeee où m et e sont des 0 ou 1


( mmmm....mmmm) est la mantisse ( eeeee...eeeee) est l' exposant
Trois formats de codage, pour la famille des µP Intel : les deux premiers pour les résultats, le dernier pour les
calculs successifs sans perte de précision pour le résultat final.

précision signe Exposant signé Partie fractionnaire


ou mantisse
Simple précision 1 8 bits 23 bits
double précision 1 11 bits 52 bits
précision étendue 1 15 bits 64 bits

Exemple : Codage de (121,488)10

On écrit la partie entière du nombre en binaire , somme des puissances de 2 entières positives
(121)10 = (0111 1010)2

De même pour la partie décimale, en somme des puissances de 2 entières négatives


(0,488)10
0,488 x 2 = 0, 976 soit a-1 = 0 et r1= 0,976
0,976 x 2 = 1, 952 soit a-2 = 1 et r2= 0,952

F128_Outils-Bases-Automatismes_12.odt Page 23 sur 25


0,952 x 2 = 1, 904 soit a-3 = 1 et r3= 0,904
0,904 x 2 = 1, 808 soit a-4 = 1 et r4= 0,808
0,808 x 2 = 1, 616 soit a-5 = 1 et r5= 0,616
0,616 x 2 = 1, 232 soit a-6 = 1 et r6= 0,232
0,232 x 2 = 0, 464 soit a-7 = 0 et r7= 0,464

on a donc (0,488)10= 0 . 2-1 + 1 . 2-2 + 1 . 2-3 + 1 . 2-4 + 1 . 2-5 + 1 . 2-6 + 0 . 2-7 etc.... = (0111 1100 1110 1101 1001 .....)2

On obtient 121,488 = 0111 1010 , 0111 1100 1.... que l'on normalise en mettant la virgule après le premier 1, ce qui
revient, en binaire, à multiplier 6 fois par 2 soit (26 ) avec (6)10 =(110)2 .

121,488 = +1,111010 0111 1100 1110 1101 1001.... × 2110

Le bit avant la virgule est toujours à 1; il n'est donc pas nécessaire de le coder. La mantisse et l'exposant sont ensuite codés
suivant le nombre de bits et les règles liés au format désiré.

Exemple en simple précision IEEE 754 :

précision signe Exposant signé Partie fractionnaire


ou mantisse
Simple précision 31 30 … 23 22 ….. 0
0 00000110 11101001111100111011011
$ 74 F9 DB 06

Remarque : La précision du nombre réel codé est liée au nombre de bits réservés à la mantisse; alors que le plus
grand nombre représentable dépend du nombre de bits réservés à l'exposant.

F128_Outils-Bases-Automatismes_12.odt Page 24 sur 25


IV - Fonctions fondamentales : les masques
IV.A Forçage de bits à 0 :ET logique (AND) entre mots
Table : 0•0=0 0•1=O 1•0=0 1•1=1
Forçage à 0 de certains bits (définis par un "0" dans le masque) d'un mot sans faire varier les autres bits du mot :
Exemple : Le mot est l'image de quatre capteurs dont on veut tester l'état de certains.

IV.B Forçage de bits à 1 :OU inclusif (OR) entre mots


Table : 0+0=0 0+1=1 1+0=1 1+1=1
Forçage à 1 de certains bits (définis par un "1" dans le masque) d'un mot à modifier sans faire varier les autres bits :
Exemple : Le mot est le Registre Code Condition d'un processeur

IV.C OU exclusif (XOR) entre mots


Table : 0⊕0=0 0⊕1=1 1⊕0=1 1⊕1=0
Force le changement (de "0" à "1" et de "1" à "0") de certains bits (définis par un "1" dans le masque) d'un mot
sans faire varier les autres bits du mot initial :
Exemple

F128_Outils-Bases-Automatismes_12.odt Page 25 sur 25

Vous aimerez peut-être aussi