Exercice – Représentation des données, types et valeurs de base

Codage des entiers

Codage des entiers

 

En binaire, un nombre correspond à une suite de 0 et de 1, que l’on convertit en une écriture en puissance de 10 usuelle en sommant le produit des chiffres du nombre par des puissances de 2 successives.

On considère n=overlinexnxn1x1x02 avec xnin0;1.

Alors, n=displaystylesumlimitsk=0nxk2k=x0times20+x1times21++xntimes2n.

Pour coder un tel entier, on utilise une mémoire composée de n+1 bits, avec n+1geq8.

Le bit de rang 0 est appelé bit de poids faible.

Le bit de rang n est appelé bit de poids fort

Il y a n+1 bits. 

 

                 
  n  n-1 n-2                    2   1     0

 

I. Codage des entiers naturels

 

On souhaite par exemple coder 19. On sait que 19=overline100112

On écrit donc ces chiffres en partant de la droite et du bit de poids faible. On remplit le reste des cases par des 0. 

0 0       1 0 0 1 1
  n  n-1 n-2 …   4     3     2   1    0

 

On suppose que n+1=8

Dans une telle situation, le nombre maximal que l’on peut coder correspond au nombre où tous les chiffres sont des 1 :

displaystylesumlimitsk=072k=27+11=281=255.

En utilisant 8 bits on peut coder tous les entiers compris entre 0 et 255. 

De même, si on suppose que n+1=16, on peut écrire tous les entiers compris entre 0 et 2161=65535

 

II. Codage des entiers relatifs 

 

1. Méthode du nombre binaire signé

Une des solutions est l’utilisation de nombre binaire signé.

Dans ce cas, le n+1ème bit (qui correspond au bit de rang n) est réservé pour coder le signe du nombre considéré. 

L’usage du 1 dans le bit de poids fort indique que le nombre est négatif.

 

Exemple : 

On veut coder l’entier 10=overline10102

On écrit alors dans les bits la série suivante, en inscrivant dans le bit de poids fort le chiffre 1 car le nombre codé est négatif.

1 0       0 1 0 1 0
  n  n-1 n-2 …   4     3     2   1    0

 

L’usage de réserver le bit de poids fort au signe implique la perte d’un bit et donc une réduction des possibilités de codage des nombres positifs.

En effet, si n+1=8, il n’y a que 7 bits pour coder les nombres.

Le plus grand nombre vaut alors displaystylesumlimitsk=062k=26+11=271=127.

On peut alors coder tous les entiers relatifs compris entre 127 et +127

Si n+1=16, il est alors possible de coder tous les entiers relatifs compris entre 32767 et 32767.

 

En informatique, 0 est considéré comme un nombre positif et est donc codé en n’utilisant que des 0.

Il reste donc une possibilité qui correspond au 0 négatif et codé en utilisant un 1 dans le bit de poids fort et des 0 ailleurs, qui est utilisé pour coder l’entier 2n

On code alors tous les entiers relatifs compris entre 2n et 2n1.   

 

2. Méthode des compléments à 2

Principe

Une autre solution est l’utilisation de la méthode des compléments à 2. 

Si l’entier est positif, la méthode ne change pas.

Si l’entier est négatif, on commence par coder sa valeur absolue, c’est à dire son opposé qui est positif.

On code alors selon la méthode binaire signé positif puis on complémente tous les bits non utilisé à 1 puis on ajoute 1.

 

Exemple

On souhaite coder l’entier relatif 14.

On sait que |14|=14

On commence donc par coder sa valeur absolue donc 14, le bit de poids fort contient un 0 car 14 est positif.

0 0 0 0 1 1 1 0

Dans une nouvelle ligne, on remplace les 0 par des 1 et réciproquement. 

1 1 1 1 0 0 0 1

A ce nouveau nombre on ajoute 1 dans le bit de poids faible, en se souvenant que 1+1 correspond à une retenue de 1 pour la colonne suivante. 

1 1 1 1 0 0 1 0

 

Remarque

Dans la méthode précédente, on voit qu’en ajoutant 1, il est possible de propager la retenue dans chaque colonne si tous les bits contenaient des 1.

Se faisant, on obtiendrait alors un chiffre qui devrait être stocké plus loin que le bit de poids fort.

Or, si tous les bits contenaient des 1, cela signifie que l’on codait le nombre de contenant que des 0, c’est à dire l’entier 0 qui n’est pas négatif : il ne sera donc jamais codé en utilisant la méthode des compléments à 2. 

Si les entiers codés sont différents de 0, alors le codage de la valeur absolue fait au moins apparaitre un 1, donc le complément fait apparaitre au moins un 0 : la propagation de la retenue éventuelle est donc forcément stoppée. 

 

Exemple

Codage de 1 en reprenant ces trois étapes.

 

0 0 0 0 0 0 0 1

 

1 1 1 1 1 1 1 0

 

1 1 1 1 1 1 1 1

 

On se propose de regarder d’un point de vue mathématique les opérations que l’on réalise pour le codage.

La première étape correspond au codage de la valeur absolue |x| du nombre x, qui ne contient que des 0 sauf le bit de poids faible qui contient un 1. 

Pour trouver le complément à 1 de ce nombre, on soustrait en réalité le nombre ne contenant que des 1 et la valeur absolue du nombre codé.

Le nombre ne contenant que des 1 correspond à 281.

On vient donc de coder l’entier naturel 281|x|

Si on ajoute 1 à ce nombre, on trouve alors 28|x|, dans le codage des entiers naturels. 

Finalement, il ne s’agit donc pas du complément à 2 mais à 28 que l’on code, mais pour simplifier, on dira complément à 2.

 

Technique pour écrire rapidement le complément à 2

Pour écrire plus rapidement le complément à 2, il existe des techniques. 

Une technique consiste à coder la valeur absolue du nombre, puis de partir du bit de poids faible et de recopier les chiffres jusqu’au premier 1 inclus.

Les chiffres suivants sont inversés par rapport au codage de la valeur absolue. 

Exemple avec le codage de -20 :

On code 20 :

0 0 0 1 0 1 0 0

Puis on obtient:

1 1 1 0 1 1 0 0

 

Intérêt d’une telle méthode

On code par exemple par la méthode du binaire signé les entiers 3 et 4

Si on somme les deux séries de 8 bits obtenus deux à deux, on obtient alors un nouveau nombre qui n’est pas égal à 1

En utilisant la méthode des compléments à 2, on obtient en addition bit à bit le nombre -1.

Nombres flottants 2

Nombres flottants 2 

 

On pourra se référer au cours Nombres flottants 1 pour revoir les notions d’écriture de nombres réels en base 2 avec une partie décimale, de mantisse et d’exposant normalisés ou non. 

 

Pour coder un nombre flottant, on fait ici l’hypothèse de travail d’un code sur 8 bits. 

Le premier bit, le bit de poids fort, est réservé au bit de signe. On attribue 4 bits pour la mantisse. On se rappellera qu’en écriture normalisée, la mantisse ne contient qu’un 1 à gauche de la virgule ce qui permet de l’omettre dans le codage et donc de gagner un bit avec cette convention. On écrit en résumé les décimales du nombre en écriture normalisée. 

Le nombre minimal que l’on peut écrire en ne considérant que la mantisse correspond à des 0 sur les 4 bits de la mantisse. Or, l’écriture étant normalisée, cela revient à écrire le nombre overline1,00002 c’est à dire 1.

Le nombre le plus grand correspond au nombre avec des 1 pour chacun des bits, soit overline1,11112=1+dfrac12+dfrac14+dfrac18+dfrac116=1,9375.

L’exposant est codé sur les bits restants : 814=3. Or chaque bit peut prendre deux valeurs.

Ainsi 3 bits permettent de représenter 23=8 entiers consécutifs, que l’on prendra pour l’exemple variant de 3 à 4.

Le nombre flottant maximal que l’on peut coder correspond donc au produit de la mantisse maximale par l’exposant maximal : xmax=overline1,11112times24=left(1+dfrac12+dfrac14+dfrac18+dfrac116right)times24=24+23+22+21+1=31.

De même, le nombre flottant positif minimal que l’on peut coder correspond au produit de la mantisse minimal par l’exposant minimal, soit xmin=overline1,00002times23=23=0,125

L’écart minimal correspond à la soustraction du deuxième plus petit nombre flottant positif et du plus petit nombre flottant positif.
epsilon=overline1,00012times23overline1,00002times23=left(1+dfrac116right)times230,125=0,13281250,125=0,0078125.

Cet écart correspond à différence minimale que doivent avoir deux nombres pour être considérés comme différents par l’ordinateur. 

Dans la pratique, en notamment avec Python, le codage des nombres flottants se fait avec le code IEEE 754, en double précision. La répartition des bits se fait comme suit : 1 bit de signe, 54 bits pour la mantisse et 11 bits pour l’exposant, ce qui permet de coder des exposants variant de -1023 à 1024.

Ainsi, le plus grand nombre que l’on peut coder vaut xmax=10308 et le plus petit positif xmin=10308. De plus, l’écart minimal vaut epsilon=21077approx10325

 

Codons par exemple le nombre flottant x=0,25 sur 8 bits.

Il faut d’abord écrire le nombre en binaire. On peut alors remarquer que x=dfrac14=dfrac122=22=overline0,012. En écriture normalisée, on a : overline1,00002times22
Il reste à présent à coder l’exposant -2 selon la méthode du complémentation à 2. Pour cela, on commence par coder la valeur absolue de -2 c’est à dire 2. Sur 3 bits, l’écriture binaire vaut 010. Pour coder le signe, on utilise le complémentation à 2, à savoir inverser les 0 et les 1 puis ajouter 1 sur le bit de poids faible. Cela donne alors 110.

Finalement, le code de x est le suivant 1 110 0000. Le premier 1 correspond au bit de signe, les bits 110 correspondent à l’exposant, et 0000 correspondent à la mantisse (on se rappellera que l’on n’écrit pas le 1 à gauche de la virgule en écriture normalisée).

A présent, on suppose que x=0,1. Cependant, on remarque que le développement en base 2 de ce nombre est illimité périodique, ou encore x=overline0,000110011001100112.
On code désormais sur 16 bits, et on donne la répartition suivante : l’exposant sur 6 bits pour coder des entiers de -31 à 32 et la mantisse sur 9 bits. 
Pour pouvoir coder ce nombre, on commence par le transformer en écriture normalisée : x=overline1,10011001100112times24. Le codage de l’exposant se fait de la même manière que dans l’exemple précédent avec la méthode de complémentation à 2 et on trouve que 4=overline1111002

Il reste à présent à coder la mantisse. Cependant, comme le développement est illimité, il faut nécessairement effectuer un arrondi car on ne peut garder qu’un nombre fini de bits (9 ici). On conserve alors 9 chiffres après la virgule et x vaut alors : xapproxoverline1,1001100112times24.
Le codage de ce nombre est alors 0 111100 100110011. On a donc du procédé à un arrondi du nombre pour pouvoir le coder. Cet exemple a donc permis de soulever une des limites du codage en flottant, que nous allons maintenant développer.

Le calcul avec les flottants est un calcul approché. Cela s’explique tout d’abord par l’écart minimal : si deux nombres ont un écart en deçà de cet écart, alors ils sont considérés comme égaux. Une autre explication de calcul approché est l’obligation d’avoir recours à des arrondis car les écritures décimales des nombres en base 2 peuvent être illimitées et potentiellement apériodiques si le nombre n’est pas rationnel. 

Si un nombre dépasse xmax ou xmin, l’ordinateur ne peut plus les coder : c’est une erreur de dépassement de capacité, respectivement signalée par overflow et underflow

En informatique, deux nombres sont considérés comme égaux si leur différence est inférieure à l’écart minimal epsilon. Ainsi x et x+dfrac12epsilon sont considérés comme égaux car leur différence vaut la moitié de l’écart minimal. Dans la mesure du possible, on évitera donc d’effectuer des tests d’égalité entre flottants.

Une autre limite est le phénomène d’absorption. 
On se propose d’aborder cette notion avec un exemple, en limitant la mantisse à 5 bits et en supposant qu’il n’y a pas de limite pour l’exposant pour simplifier.
On commence par calculer la somme overline1,100002+overline0,0000012 à la main. Le résultat est immédiat et donne overline1,100002+overline0,0000012=overline1,1000012.
On s’intéresse à présent à la manière dont l’ordinateur effectue ce calcul. 
Il faut tout d’abord écrire les termes en écriture normalisée : overline1,100002+overline0,0000012=overline1,100002times20+overline1,000002times26. On somme ensuite les deux nombres et le résultat vaut alors overline1,100002times20 en ne conservant que 5 chiffres pour la mantisse. On remarque alors que le résultat est différent du calcul exact, car le dernier chiffre du résultat théorique n’a pas pu être représenté : on dit alors que overline0,0000012 a été absorbé par overline1,100002

Le phénomène de non associativité est une illustration du phénomène d’absorption.
Pour simplifier davantage, on suppose ici que la mantisse est codée sur 2 bits.
On souhaite calculer la somme overline1,002+overline0,0012+overline0,0012. Le calcul direct à la main donne overline1,0102, en se rappelant que le calcul se fait en base 2. On a pu ici sommer le premier et le deuxième terme ensemble puis sommer le résultat avec le troisième ou bien sommer le deuxième et le troisième ensemble puis sommer le résultat avec le premier terme : c’est la propriété d’associativité de l’addition.
On s’intéresse à la manière dont va être effectué ce calcul par un ordinateur.
On effectue ce calcul de deux manières, en associant deux nombres différents à chaque fois.
begin{aligned} overline{1,00}^2 + (overline{0,001}^2 +overline{0,001}^2)  &=& overline{1,00}^2 times 2^0 + (overline{1,00}^2 times 2^{-3} +overline{1,00}^2 times 2^{-3}) \ &=& overline{1,00}^2 times 2^0 + overline{1,00}^2 times 2^{-2} \ &=& overline{1,01}^2 times 2^0 end{aligned}
Une autre manière d’effectuer ce calcul est (overline1,002+overline0,0012)+overline0,0012=(overline1,002times20+overline1,002times23)+overline1,002times23. En ne conservant que deux bits pour la mantisse, on constate que le phénomène d’absorption se produit pour la première somme : (overline1,002times20+overline0,0012)+overline0,0012=overline1,002times20+overline1,002times23. Il en est de même pour la deuxième somme.
Finalement le résultat est (overline1,002+overline0,0012)+overline0,0012=overline1,002times20=1 : il n’y a donc pas associativité dans le cadre de l’addition entre flottants. 

Nombres flottants 1

Nombres flottants 1

 

1) Notion de développement décimal d’un nombre réel

 

Avant de débuter la théorie sur le codage des nombres décimaux, on commence par présenter la notion de développement d’un nombre décimal à travers des exemples. 

Si on considère un entier naturel, comme x=1, son écriture est connue et ne présente pas de difficultés. 

Si on considère un nombre rationnel, comme y=dfrac12, il est possible d’écrire y sous une écriture décimale. En effet, y=0,5. Il s’agit d’une écriture décimale finie.
Cependant, tout les nombres rationnels n’ont pas une écriture décimale finie. En effet, z=dfrac13=0,3overline3. On symbolise que le développement est infini en ajoutant une barre sur le 3 signifiant que le 3 se répète indéfiniment. De plus, le développement décimal est périodique, c’est à dire que le motif 3 se répète indéfiniment. 

Considérons à présent le nombre a dont le développement décimal est a=0,34overline34. Il s’agit donc d’un nombre dont le développement décimal est une répétition du motif 34 indéfiniment. En multipliant a par 100 on obtient alors le nombre 100a=34,overline34. Il apparait alors qu’en soustrayant à ce nouveau nombre le nombre a, la partie décimale disparait: 100aa=34,overline340,overline34=34. Or, 100aa=99a
Finalement,  on a donc 99a=34 c’est à dire a=dfrac3499.
On peut montrer que l’ensemble des nombres possédant un développement décimal fini ou infinie périodique est exactement l’ensemble des nombres rationnels. 

Enfin, il existe des nombres possédant un développement décimal infini non périodique (ou apériodique). Ceux sont les nombres irrationnels comme par exemple pi=3,14 ou sqrt2=1,41421

Nous admettrons après avoir considéré l’ensemble de ces exemples que tout nombre réel x peut s’écrire sous la forme : 
x=a2a1a0,b1b2b3bn=a2102+a1101+a0100+b1101+b2102+b3103++bn10n+, avec aiin0,1,2,,8,9biin0,1,2,,8,9.
Il existe un nombre fini de ai mais un nombre infini de bi. Si x admet un développement décimal fini, les bi sont nuls à partir d’un certain rang.
Il est bon de noter toutefois que cette écriture n’est pas unique. En effet, si on s’intéresse au nombre x=0,overline9, alors en regardant le nombre 10xx=9,overline90,overline9=9, on trouve que 9x=9 soit x=1. On retiendra alors que les développements décimaux composés d’une infinité de 9 à partir d’un certain rang sont appelés développements décimaux impropres.

 

Exemple :

Soit x=1234,56780,
1234 est la partie entière de x.
Il est possible d’écrire x un introduisant une puissance de 10 :
x=1234,56780times1=1234,56780times100.
On peut également décaler la virgule, qui devient alors flottante (on pourra alors faire un parallèle avec l’appellation nombre flottant) :
x=1,2345678times103 ou encore x=0,0012345678times106.
Le nombre x écrit à l’aide d’une puissance de 10 possède donc plusieurs écritures. 

Chaque écriture est composée d’une mantisse (exemple : 0,0012345678) et d’un exposant (exemple : 6). On remarque que chaque écriture possède un couple mantisse-exposant différent : le couple mantisse-exposant n’est pas unique. 
En informatique, la règle d’écriture des nombres est d’utiliser une mantisse ne comportant qu’un nombre à gauche de la virgule, non nul. 

 

Exemple :

23,21=2,321times101
0,134=1,34times101

 

2) Base deux

 

On admet la propriété suivante :

Tout nombre réel x s’écrit sous la forme :
x=a3a2a1a0,b1b2b3bn avec aiin0,1; biin0,1. Il existe un nombre fini de ai mais un nombre infini de bi. Si x admet un développement décimal fini, les bi sont nuls à partir d’un certain rang.
On peut aussi faire apparaitre les puissances de 2 successives :
x=a323+a222+a121+a020+b121+b222++bn2n+.

 

Exemple :

Soit x=3,625,
On cherche l’écriture en base 2 de x.
Il s’agit pour cela de connaitre les puissances de 2.
On remarque que 3=1+2.
On s’intéresse à présent à la partie décimale :
0,625=0,5+0,125
Or, 0,5=dfrac12=21 et 0,125=dfrac18=dfrac123=23.
Ainsi, x=2+1+0,5+0,125=1times21+1times20+1times21+0times22+1times23.
C’est à dire x=overline11,1012.
En adoptant le choix standard pour l’écriture à l’aide d’une mantisse on a : x=overline1,11012times21

 

Propriété :

Tout réel est représenté par son signe (+ ou ), codé par un bit de signe que l’on place sur le bit de poids fort, la mantisse m et l’exposant e, écrits en base 2. Le couple (m,e) est normalisé, en considérant l’écriture qui fait apparaitre un seul chiffre non nul à gauche de la virgule.
Or, comme les calculs en informatiques sont effectués en base 2, il n’y a que deux chiffres possibles 0 ou 1. Si le premier chiffre de la mantisse est non nul, il vaut forcément 1. Il n’est donc pas nécessaire de coder le premier chiffre dont on connait toujours la valeur  : 1.

On remarquera qu’un réel peut avoir un développement décimal illimité. En informatique, un développement décimal illimité n’a pas de sens : on procède donc à une première approximation afin d’écrire ce réel à l’aide d’un développement décimal fini. 

On considère que l’exposant varie entre deux bornes L (low), négatif, et U (up) telles que :
LleqeleqU
On désigne par t le nombre de chiffres de la mantisse. 

Finalement, un nombre réel est codé :
– à l’aide d’un bit de signe (le bit de poids fort)
– d’un exposant
– et d’une mantisse contenant t chiffres. 

Calculs Booléens

Booléens

 

Un booléen est une variable informatique à deux états logiques : Vrai ou Faux, ou bien 1 ou 0. Le calcul booléen fut inventé par George Boole en XIXe siècle.

 

Exemple :

La proposition 1>2 est une proposition fausse. 
La proposition 1neq2 est une proposition vraie. 

D’une manière générale en informatique, les opérateurs de comparaison retournent une valeur booléenne. Les variables booléennes permettent de formaliser les raisonnements logiques pratiqués en informatique.

 

Les opérateurs logiques

 

Soient x et y deux propositions,
Il est possible de définir différents opérateurs logiques :

la négation de x, noté overlinex, que l’on appelle not x. Cette proposition prend la valeur logique opposée à celle de x

Exemple :

Lorsque x est fausse, overlinex est vraie. 
Lorsque x est vraie, overlinex est fausse. 

 

la conjonction de x et y, notée x ET y ou x.y. Cette proposition est vraie uniquement lorsque x et y sont simultanément vraies.

Exemple :

Si x est fausse et y est vraie, alors x.y est fausse.

 

la disjonction de x et y que l’on note x OU y, x+y. Il est aussi possible de définir cet opérateur à l’aide de la négation et de la conjonction overlineoverlinex.overliney.

Exemples :

Considérons que x et y sont fausses, alors overlinex et overliney sont vraies, donc overlinex.overliney est vraie. Or la négation d’une proposition vraie est une proposition fausse, donc overlineoverlinex.overliney est fausse. Ainsi, x+y est fausse.
Considérons que x est vraie et que y est fausse, alors overlinex est fausse et overliney est vraie, donc overlinex.overliney est fausse. Or la négation d’une proposition fausse est une proposition vraie, donc overlineoverlinex.overliney est vraie. Ainsi, x+y est vraie.
On fera cependant attention que + n’a pas toujours le sens d’une addition au sens mathématique du terme.
En effet, si x et y sont vraies et valent donc 1, alors x+y est vraie aussi et vaut 1.
De plus, on peut remarquer que le OU n’a pas toujours le même sens qu’en français. Il s’agit en effet d’un OU inclusif : quand x et y sont toutes deux vraies, x OU y est vraie. 
On retiendra que la disjonction n’est fausse uniquement lorsque x et y sont fausses.

 

– l’implication, que l’on note xRightarrowy, qui correspond par définition à la proposition overlinex+y.

Exemple :
Supposons que x et y sont fausses, alors overlinex est vraie donc overlinex+y est vraie. Ainsi, xRightarrowy est vraie.
On remarque que dès lors que l’hypothèse initiale est fausse, l’assertion totale est juste. On retiendra que l’implication est toujours vraie sauf lorsque x est vraie et y fausse. 

 

– la disjonction exclusive de x et y, que l’on note xoplusy, qui correspond au OU exclusif en français : les deux propositions ne peuvent pas être vraies en même temps.

Exemple :

Supposons x vraie et y fausse, alors xoplusy est vraie.
Supposons x  et y vraies, alors xoplusy est fausse.

 

On regroupe l’ensemble des résultats précédents dans la table de vérité suivante 

x y overlinex x.y x+y xRightarrowy xoplusy
0 0 1 0 0 1 0
0 1 1 0 1 1 1
1 0 0 0 1 0 1
1 1 0 1 1 1 0

Exemple :

On se propose ici d’appliquer à un exemple concret les différents opérateurs décrits précédemment.
Soient x la proposition “je suis sec” et y la proposition “je suis mouillé”,
On peut remarquer que si je ne suis pas sec, alors je suis mouillé, ce qui signifie que y est la négation de x et réciproquement, ce que l’on écrit en mathématiques overlinex=y et overliney=x.
La proposition “je suis sec OU je suis mouillé” est vraie car toute personne est forcément dans l’un des deux états, ainsi x+y=1
La proposition “je suis sec ET je suis mouillé” est fausse car toute personne ne peut pas être dans le même état simultanément, ainsi x.y=0

 

Plus généralement, on peut remarquer que :

– la proposition x ou overlinex est fausse, c’est à dire x.overlinex=0 : c’est ce qu’on appelle le principe de non-contradiction. 
– la proposition x et overlinex est vraie, c’est à dire x+overlinex=1 : c’est ce qu’on appelle le principe du tiers exclu.
– la négation de la négation prend les mêmes valeurs logiques que la proposition initiale.
– l’implication xRightarrowy prend les mêmes valeurs logiques que l’implication overlineyRightarrowoverlinex : c’est la contraposée. 
En effet, supposons par exemple que l’assertion “s’il pleut alors j’ai mon parapluie” est vraie. Alors, “si je n’ai pas mon parapluie alors il ne pleut pas” est vraie car si il avait plu j’aurai eu mon parapluie. 
– la négation de la disjonction de x ou y prend les mêmes valeurs logiques que la conjonction de overlinex et overliney. On note donc : overlinex+y=overlinex.overliney.
– de même, la négation de la conjonction de x et y prend les mêmes valeurs logiques que la disjonction de overlinex ou overliney. On note donc : overlinex.y=overlinex+overliney.
Enfin, on s’intéresse à la négation de l’implication xRightarrowy, qui vaut par définition overlineoverlinex+y. D’après une propriété précédente, overlineoverlinex+y=overlineoverlinex.overliney. Enfin, overlineoverlinex=x donc overlineoverlinex.overliney=x.overliney

 

Les fonctions booléennes peuvent être réalisées par des circuits électroniques. 

booléens_1

 

Notre guide gratuit pour réussir son orientation post bac 2023

X
Ce site utilise des cookies et vous donne le contrôle sur ceux que vous souhaitez activer