Habituellement, nous représentons les valeurs entières dans le système décimal, on dit aussi en base 10. Nous utilisons les dix chiffres de 0 à 9. La position des chiffres définit la valeur associée à ce chiffre. Par exemple, 542 est compris comme
Les différents chiffres correspondent aux puissances successives de 10 :
L'information numérique, qu'il s'agisse de valeurs entières, de textes, d'images, ou de sons est en fin de compte représentée par des suites de 0 et de 1. On parle de bit : un bit peut prendre deux valeurs, 0 ou 1.
Le mot bit vient de l'anglais binary digit.Le système binaire permet d'écrire les valeurs entières en n'utilisant que ces les deux chiffres 0 et 1. On utilise alors la base 2.
De même que pour la base 10, les positions des chiffres sont associées aux puissances successives de 2
Ainsi la valeur entière qui correspond à la représentation binaire 101010 est
Il nous faut pouvoir indiquer que 101010 est une représentation binaire et non une représentation décimale, qui serait comprise cent un mille dix (ou encore une représentation dans une autre base...).
On notera 1010102, ou 101010.
On distingue donc les valeurs entières (les entiers) et leur représentation.
À une valeur entière donnée est associée une représentation décimale, mais aussi une représentation binaire.
Donnez les valeurs entières représentées par (100)2, (10101)2, (101)2, (00101)2.
Comparez les valeurs entières représentées par (11)2 et (100)2, (111)2 et (1000)2.
Un booléen est une donnée dont la valeur ne peut prendre que deux états, soit l'état vrai soit à l'état faux. On utilise également le bit pour représenter des booléens : ainsi un 0 représente la valeur faux et un 1 représente la valeur vrai.
On définit sur ces valeurs booléennes trois opérations : la négation, la conjonction et la disjonction, également appelées le NON, le ET et le OU logiques.
Le NON logique d'un booléen a se définit par :
a | NON a |
---|---|
0 | 1 |
1 | 0 |
Le ET logique entre deux booléens a et b se définit par :
a | b | a ET b |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Le OU logique entre deux booléens a et b se définit par :
a | b | a OU b |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
Cet opérateur peut également être défini par sa table de vérité présentée ci-contre.
Il est possible de définir l'opérateur OU logique à partir du NON logique et du ET logique. En effet, si a et b sont des booléens alors a OU B = NON ((NON a) ET (NON B)).
On peut utiliser les tables de vérités pour démontrer cette égalité. On construit une table dans lesquelles les colonnes représentent les différentes sous-expressions dont nous avons besoin. Les contenus des colonnes sont construits en appliquant aux colonnes connues les tables de vérité connues définies ci-dessus.
Dans notre cas en plus de a, b, parmi les expressions utiles à notre calcul on trouve NON a, NON b. Une fois la table remplie pour ces deux expressions on peut déterminer celle de l'expression (NON a) ET (NON b) : si on définit x=NON a et y= NON b, alors (NON a) ET (NON b)=x ET y.
a | b | NON a | NON b | (NON a) ET (NON b) |
---|---|---|---|---|
x | y | x ET y | ||
0 | 0 | 1 | 1 | 1 |
0 | 1 | 1 | 0 | 0 |
1 | 0 | 0 | 1 | 0 |
1 | 1 | 0 | 0 | 0 |
On complète alors la table avec les expressions NON ((NON a) ET (NON b)) et (a OU b)
a | b | NON a | NON b | (NON a) ET (NON b) | ((NON a) ET (NON b)) | (a OU b) |
---|---|---|---|---|---|---|
x | y | (x ET y) = z | NON z | |||
0 | 0 | 1 | 1 | 1 | 0 | 0 |
0 | 1 | 1 | 0 | 0 | 1 | 1 |
1 | 0 | 0 | 1 | 0 | 1 | 1 |
1 | 1 | 0 | 0 | 0 | 1 | 1 |
L'égalité des contenus des deux dernières colonnes démontrent l'équivalence des deux expressions.
a | b | a XOR b |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Les adresses réseau des ordinateurs sont également appelé adresse IP, pour Internet Protocol. Les adresses IP de version 4, IPv4, sont codés sur 32 bits. Elle est généralement représentée en notation décimale avec quatre nombres compris entre 0 et 255, séparés par des points, ce qui donne par exemple : 192.168.100.2.
Les adresses réseau de type IPv4 sont composées de deux parties :
le sous-réseau et l'hôte. Les masques de
sous-réseau utilisent la même représentation que celles des adresses
IPv4. Bien que la norme IPv4 n'interdise pas que
la partie significative du masque contienne des bits à 0, on utilise
en pratique des masques constitués (sous leur forme binaire) d'une
suite de 1 suivis d'une suite de 0, il y a donc 32 masques réseau
possibles. Un exemple possible est le masque 255.255.255.0
.
Pour obtenir l'adresse du sous-réseau on applique l'opérateur ET entre les notations binaires de l'adresse IPv4 et du masque de sous-réseau. L'adresse de l'hôte à l'intérieur du sous-réseau est quant à elle obtenue en appliquant l'opérateur ET entre l'adresse IPv4 et la négation (NON) du masque.
192.168.100.2
(ou partez de l'adresse de votre machine).255.255.255.0
.Les opérations logiques évoquées ci-dessus sont mises en œuvre en électronique sous forme de portes logiques. Ainsi les circuits électroniques calculent des fonctions logiques de l'algèbre de Boole. Pour chacun des opérateurs logiques évoquées ci-dessus (et d'autres) il existe donc des portes logiques appelés porte ET, porte NON, etc. Les valeurs vrai et faux sont représentées par deux niveaux de tension, haut et bas. Un circuit de type porte ET dispose donc de deux entrées et une sortie et la valeur du niveau de tension en sortie dépend des niveaux de tension appliquées à chaque entrée, en respectant la table de vérité du ET. Les portes peuvent être connectées entre elles pour réaliser des circuits logiqueset on peut ainsi réaliser des calculs.
Prenons l'exemple de ce circuit :
Il est appelé demi-additionneur car il réalise l'addition de 2 bits (A et B), le résultats de cette somme est représentée par S et la retenue éventuelle par R.
A partir de ce circuit on peut en construire d'autres plus complexes permettant d'additionner des nombres de plusieurs bits. Voir sur cette page par exemple.
Et dans le même esprit, l'utilisation combinée des différentes portes de base permet de construire des circuits intégrés de plus en plus complexes, jusqu'au micro-processeur qui réalise les calculs au sein d'un ordinateur. Il "suffit" de trouver la bonne organisation. C'est un peu comme les Légo en somme... Vous pourrez trouver ici quelques compléments.