• Aucun résultat trouvé

2 Opérations bit à bit

N/A
N/A
Protected

Academic year: 2022

Partager "2 Opérations bit à bit"

Copied!
7
0
0

Texte intégral

(1)

Variables booléennes

Dresser la table d’une expression booléenne.

Objectif

1 Variables booléennes

Unbooléenest une variable informatique qui ne peut prendre que deux valeurs :TrueouFalse. Un booléen est représenté en machine par un bit, qui vaut :

— 1 pour la valeurTrue;

— 0 pour la valeurFalse. Définition 1

Il existe trois opérations élémentaires sur les booléens :disjonction,conjonctionetnégation.

OU: Ladisjonction deAetB est notée : AorB , A+B , A_ B . AorBvautTruesi et seulement siAvautTrueouBvautTrue.

A B AorB=A+B

0 0 0

0 1 1

1 0 1

1 1 1

ET: Laconjonction deAetBest notée : AandB , A·B , A^ B . AandBvautTruesi et seulement siAvautTrueetBvautTrue.

A B AandB=A.B

0 0 0

0 1 0

1 0 0

1 1 1

La négation deAest notée notA ou encore A. AvautTruesi et seulement siAvautFalse.

A notA=A

0 1

Définition 2

(2)

Uneexpression booléenneest une combinaison d’opérations élémentaires (or,and,not) por- tant sur une ou plusieurs variables booléennes.

Définition 3(Expression booléenne)

Compléter les égalités suivantes.

AorA=. . . AandA=. . . not(notA)=. . . Aor(notA)=. . . Aand(notA)=. . . Exercice 1.1

Formules de Morgan

1. Compléter les tables de vérité ci-dessous.

A B AorB AorB

0 0

0 1

1 0

1 1

A B A B AandB

0 0

0 1

1 0

1 1

2. En déduire queAorB=AandB.

3. Montrer de même queAandB=AorB.

Exercice 1.2

1. Dresser la table de vérité de l’expressionS=(AorB)and(AorB).

A B AorB A (AorB) S

0 0

0 1

1 0

1 1

2. Quelle égalité booléenne peut en déduire ? Exercice 1.3

(3)

Dresser la table de vérité de l’expressionS=(AandB)or(Aand notC)or(notBandC).

A B C AandB Aand notC notBandC S

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

Exercice 1.4

On donne ci-dessous les tables de vérité de différentes expressions booléennesU,V etW. Retrouver les expressions deU,V etW en fonction deAetB.

A B U

0 0 0

0 1 0

1 0 1

1 1 0

A B V

0 0 1

0 1 0

1 0 0

1 1 0

A B W

0 0 1

0 1 0

1 0 1

1 1 0

Exercice 1.5

2 Opérations bit à bit

On peut généraliser les opérations logiques and etor à des chaînes de bits ce que py- thon peut faire facilement. Sous python :

— leandse note &

— leorse note | Bit à bit

Bit à bit :andse note &

1 0 1 1 0 1 1

& 1 0 1 0 1 0 1

1 0 1 0 0 0 1

# Dans la console PYTHON

>>> bin(0b1011011&0b1010101) '0b1010001'

Bit à bit :orse note |

1 0 1 1 0 1 1

| 1 0 1 0 1 0 1

1 0 1 1 1 1 1

# Dans la console PYTHON

>>> bin(0b1011011|0b1010101) '0b1011111'

Calculer à la main puis avec python : Exercice 2.6

(4)

3 Obtention des formes normales

1. Forme normale conjonctive (FNC) : Une fonction booléenne peut toujours s’exprimer sous forme d’une conjonction (and) de formes disjonctives (or) . Par exemple :

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

2. Forme normale disjonctive (FND): Une fonction booléenne peut toujours s’exprimer sous forme d’une disjonction (or) de formes conjonctives (and) . Par exemple :

g(a,b,c)=abc+abc Propriété 1(Non exigible)

Il existe cependant un moyen d’obtenir les FND ou FNC facilement en travaillant sur la table de vérité. On s’intéresse aux différents cas où la fonction retourne 0 ou 1.

a b c f(a,b,c)

1 1 1 0

1 1 0 1

1 0 1 1

1 0 0 1

0 1 1 0

0 1 0 0

0 0 1 0

0 0 0 0

Obtenir la FND

Pour la FND, on s’intéresse aux cas pour lesquels la fonction vaut 1 et on écrit la conjonction des littéraux (lesmidterms) correspondante :

1. a=b=1 etc=0.

Ce premier cas donne la conjonctiona.b.c, et la table de vérité nous dis que celle-ci donne 1 lorsquea=1,b=1 etc=0, or 1.1.0=1.

2. On a aussia=1 etb=0, soitc=1 et on a la conjonctiona.b.c; 3. On a aussia=1 etb=0, soitc=0 et on a la conjonctiona.b.c

a b c f(a,b,c) midterms

1 1 1 0

1 1 0 1 a.b.c

1 0 1 1 a.b.c

1 0 0 1 a.b.c

0 1 1 0

0 1 0 0

0 0 1 0

0 0 0 0

Pour avoir la (FND) on prend la disjonction des conjonctions : f(a,b,c)=a.b.c+a.b.c+a.b.c Méthode

(5)

Obtenir la FNC

On s’intéresse aux cas où la fonction vaut 0 (qu’on appelle desmaxterms) , et de la même manière, on note les différentes conjonctions correspondantes.

a b c f(a,b,c) maxterms

1 1 1 0 ³

a+b+c´

1 1 0 1

1 0 1 1

1 0 0 1

0 1 1 0 ³

a+b+c´

0 1 0 0 ³

a+b+c´

0 0 1 0 ¡

a+b+c¢

0 0 0 0 (a+b+c)

On obtient alors

f(a,b,c)

a+b+c´ .³

a+b+c´ .³

a+b+c´ .¡

a+b+c¢

. (a+b+c)

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

Si on en prend la conjonction, la propriété assure quef(a,b,c)=f(a,b,c) : f(a,b,c)=f(a,b,c)=a.b.c+a.b.c+a.b.c+a.b.c+a.b.c

a+b+c´ .³

a+b+c´ .³

a+b+c´ .¡

a+b+c¢

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

³

a+b+c´ .³

a+b+c´ .³

a+b+c´ .¡

a+b+c¢

. (a+b+c) Remarque

(6)

L’opération « ou exclusif », notéxor, est défini parAxorB=(AorB)andAandB.

1. Dresser la table de vérité de l’expressionAxorB.

2. En déduire la forme normale disjonctive deAxorB.

Exercice 3.7

A B AorB AandB AandB AxorB=(AorB)andAandB

0 0 0

0 1 1

1 0 1

1 1 1

On donne ci-dessous les tables de vérité de différentes expressions booléennesU,V etW. Retrouver les expressions deU,V etW en fonction deAetBetC.

A B C U

0 0 0 1

0 0 1 0

0 1 0 0

0 1 1 0

1 0 0 0

1 0 1 1

1 1 0 0

1 1 1 1

A B C V

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 0

1 0 0 1

1 0 1 0

1 1 0 0

1 1 1 1

A B C W

0 0 0 1

0 0 1 1

0 1 0 0

0 1 1 0

1 0 0 1

1 0 1 1

1 1 0 0

1 1 1 0

Exercice 3.8

1. On considère les lignes qui donnent 1 pour U soit :

A B C U

0 0 0 1 a.b.c

1 0 1 1 a.b.c

1 1 1 1 a.b.c

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

³

aandbandc´ or

³

aandbandc´

or(aandbandc) Corrigé

(7)

Si A et B sont des variables booléennes, quelle est l’expression booléenne équivalente à (notA)orB?

— (AandB)or(notAandB)or(notAand notB)

— (AandB)or(notAandB)

— (notAandB)or(notAand notB)

— (AandB)or(notAand notB) Question 1

Exercice 3.9

Références

Documents relatifs

Stocker un petit ensemble dans les bits d’un entier non-signé Le bit i est à 1 ssi l’élément i est dans l’ensemble. → Énumérer les ensembles en énumérant

On peut toujours mettre en BCNF sans perte d’information. On peut toujours mettre

Par exemple, on peut comparer chacune des quantités proposées à n 1 , comparer entre elles les expressions qui ont même nominateur ou même dénominateur,.. On ne peut donc utiliser

X préservant la contrainte d'intégrité (et donc tel que le déterminant de V soit 1 ou —1), le déterminant de B est conservé, et l'on voit que l'angle conique défini par notre

D'autre part, il est commun d'ajuster à des valeurs fixées a prio- ri , les parts relatives de la trace afférentes à des blocs homogènes , en multipliant chacun de ces blocs par

Soit donc / une fonction réelle mesurable positive, il existe d'après le théorème 2 une suite croissante (f n ) neN de fonctions étagées positives convergeant vers /, alors on

Dans notre cas cependant, nous avons pu prouver (cf. Proposition 2.8) que, dans la classe des ouverts possedant la C -PGN, la convergence au sens de Hausdor entra^nait la convergence

Mais elle présente un point anguleux en 0 en raison d’une dérivée à gauche et d’une dérivée à droite différentes. Un phénomène analogue se produit avec la fonction