Accueil

   BINAIRE, HEXADÉCIMAL:

Présentation du binaire

Vers la fin des années 30, Claude Shannon démontra qu'à l'aide de "contacteurs" (interrupteurs) fermés pour "vrai" et ouverts pour "faux" il était possible d'effectuer des opérations logiques en associant le nombre " 1 " pour "vrai" et "0" pour "faux".

Ce codage de l'information est nommé base 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. L'homme travaille quant à lui avec 10 chiffres (0,1,2,3,4,5,6,7,8,9), on parle alors de base décimale.

 

Le bit

Bit (noté b avec une minuscule dans les notations) signifie "binary digit", c'est-à-dire 0 ou 1 en numérotation binaire. C'est la plus petite unité d'information manipulable par une machine numérique.
Il est possible de représenter physiquement cette information binaire :

  • par un signal électrique ou magnétique, qui, lorsqu'elle atteint une certaine valeur, correspond à la valeur 1.
  • par des aspérité géométrique dans une surface.
  • grâce à des bistables, c'est-à-dire des composants électroniques qui ont deux états d'équilibre (un correspond à l'état 1, l'autre à 0)

Avec un bit il est ainsi possible d'obtenir deux états: soit 1, soit 0.
2 bits rendent possible l'obtention de quatre états différents (2*2):

 

0 0
0 1
1 0
1 1

Avec 3 bits il est possible d'obtenir huit états différents (2*2*2):

 

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

Pour un groupe de n bits, il est possible de représenter 2n valeurs.

 

L'octet

L'octet (en anglais byte, noté B avec une majuscule dans les notations) est une unité d'information composée de 8 bits. Il permet de stocker un caractère, telle qu'une lettre, un chiffre ...
Ce regroupement de nombres par série de 8 permet une lisibilité plus grande, au même titre que l'on apprécie, en base décimale, de regrouper les nombres par trois pour pouvoir distinguer les milliers. Par exemple le nombre 1 256 245 est plus lisible que 1256245.

Une unité d'information composée de 16 bits est généralement appelée mot (en anglais word)

Une unité d'information de 32 bits de longueur est appelée double mot (en anglais double word, d'où l'appelation dword).

Pour un octet, le plus petit nombre est 0 (représenté par huit zéros 00000000), le plus grand est 255 (représenté par huit chiffre "un" 11111111), ce qui représente 256 possibilités de valeurs différentes.

 

27 =128 26 =64 25 =32 24 =16 23 =8 22 =4 21 =2 20 =1
0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1

 

KiloOctets, MégaOctets

 

Longtemps l'informatique s'est singularisée par l'utilisation de différentes valeurs pour les unités du système international. Ainsi beaucoup d'informaticiens ont appris que 1 kilooctet valait 1024 octets. Or, depuis décembre 1998, l'organisme international IEC a statué sur la question (http://physics.nist.gov./cuu/Units/binary.html). Voici donc les unités standardisées :

  • Un kilooctet (ko ou kB) = 1000 octets
  • Un Mégaoctet (Mo ou MB) = 1000 Ko = 1 000 000 octets
  • Un Gigaoctet (Go ou GB) = 1000 Mo = 1 000 000 000 octets
  • Un Téraoctet (To) = 1000 Go = 1 000 000 000 000 octets

 

Nota Attention ! De nombreux logiciels (parfois même certains systèmes d'exploitation) utilisent toujours la notation antérieure à 1998 pour laquelle :
  • Un kilooctet (ko) = 210 octets = 1024 octets
  • Un Mégaoctet (Mo) = 220 octets = 1024 Ko = 1 048 576 octets
  • Un Gigaoctet (Go) = 230 octets = 1024 Mo = 1 073 741 824 octets
  • Un Téraoctet (To) = 240 octets = 1024 Go = 1 099 511 627 776 octets

L'IEC a également défini le kilo binaire (kibi), le méga binaire (Mébi), le giga binaire (Gibi), le tera binaire (Tebi).
Voici leurs définitions :

  • Un kibioctet (kio ou kiB) vaut 210 = 1024 octets
  • Un Mébioctet (Mio ou MiB)vaut 220 =1 048 576 octets
  • Un Gibioctet (Gio ou GiB) vaut 230 =1 073 741 824 octets
  • Un Tébioctet (Tio ou TiB) vaut 240 =1 099 511 627 776 octets
Il est également utile de noter que la communauté internationale dans son ensemble utilise préférentiellement le nom de "byte" plutôt que le terme "octet" purement francophone. Cela donne les notations suivantes pour kilobyte, mégabyte, gigabyte et terabyte :
kB, MB, GB, TB
Nota Notez l'utilisation d'un B majuscule pour différencier Byte et bit.

Voici une capture d'écran du logiciel HTTrack, l'aspirateur de sites le plus populaire, montrant l'utilisation de cette notation :

capture d'écran du logiciel HTTrack

 

Les opérations en binaire

Les opérations arithmétiques simples telles que l'addition, la soustraction et la multiplication sont faciles à effectuer en binaire.

 

L'addition en binaire

L'addition en binaire se fait avec les mêmes règles qu'en décimale:
On commence à additionner les bits de poids faibles (les bits de droite) puis on a des retenues lorsque la somme de deux bits de mêmes poids dépasse la valeur de l'unité la plus grande (dans le cas du binaire: 1), cette retenue est reportée sur le bit de poids plus fort suivant...

Par exemple:

  0 1 1 0 1
+ 0 1 1 1 0
- - - - - -
  1 1 0 1 1

 

La multiplication en binaire

La table de multiplication en binaire est très simple:

  • 0x0=0
  • 0x1=0
  • 1x0=0
  • 1x1=1
La multiplication se fait en formant un produit partiel pour chaque digit du multiplieur (seul les bits non nuls donneront un résultat non nul). Lorsque le bit du multiplieur est nul, le produit partiel est nul, lorsqu'il vaut un, le produit partiel est constitué du multiplicande décalé du nombre de positions égal au poids du bit du multiplieur.

Par exemple:

    0 1 0 1 multiplicande
x   0 0 1 0 multiplieur
- - - - - -
    0 0 0 0
  0 1 0 1  
0 0 0 0    
- - - - - -
  0 1 0 1 0

 

Qu'appelle-t-on algèbre de Boole?

Un processeur est composé de transistors permettant de réaliser des fonctions sur des signaux numériques. Ces transistors, assemblés entre eux forment des composants permettant de réaliser des fonctions très simples. A partir de ces composants il est possible de créer des circuits réalisant des opérations très complexes. L'algèbre de Boole (du nom du mathématicien anglais Georges Boole 1815 - 1864) est un moyen d'arriver à créer de tels circuits.

L'algèbre de Boole est une algèbre se proposant de traduire des signaux en expressions mathématiques. Pour cela, on définit chaque signal élémentaire par des variables logiques et leur traitement par des fonctions logiques. Des méthodes (table de vérité) permettent de définir les opérations que l'on désire réaliser, et à transcrire le résultat en une expression algébrique. Grâce à des règles appelées lois de composition, ces expressions peuvent être simplifiées. Cela va permettre de représenter grâce à des symboles un circuit logique, c'est-à-dire un circuit qui schématise l'agencement des composants de base (au niveau logique) sans se préoccuper de la réalisation au moyen de transistors (niveau physique).

 

Variable logique

Un ordinateur ne manipule que des données binaires on appelle donc variable logique une donnée binaire, c'est-à-dire une donnée ayant deux états possibles: 0 ou 1.

 

Fonction logique

On appelle fonction logique une entité acceptant plusieurs valeurs logiques en entrée et dont la sortie (il peut y en avoir plusieurs) peut avoir deux états possibles: 0 ou 1.

En réalité ces fonctions sont des composants électroniques admettant des signaux électriques en entrée, et restituent un signal en sortie. Les signaux électroniques peuvent prendre une valeur de l'ordre de 5 Volts (c'est l'ordre de grandeur général) que l'on représente par un 1, ou 0 V que l'on représente par un 0.

 

Les portes logiques

Les fonctions logiques de bases sont appelées portes logiques. Il s'agit de fonctions ayant une ou deux entrées et une sortie:

  • La fonction OU (en anglais OR) positionne sa sortie à 1 si l'une ou l'autre de ses entrées est à 1
  • La fonction ET (en anglais AND) positionne sa sortie à 1 si ses deux entrées sont à 1
  • La fonction OU EXCLUSIF (en anglais XOR) positionne sa sortie à 1 si l'une ou l'autre de ses entrées est à 1 mais pas les deux simultanément
  • La fonction NON (appelée aussi inverseur) positionne sa sortie à 1 si son entrée est à 0, et vice-versa

On définit généralement les fonctions NON OU (couramment appelée NOR) et NON ET (NAND) comme étant la composition respective d'un NON avec un OU et un ET.

 

Chronogramme

Un chronogramme est un diagramme montrant l'évolution des entrées et des sorties en fonction du temps.
Voici par exemple ce à quoi pourrait ressembler un chronogramme de l'opérateur ET:

Ce chronogramme en un chronogramme idéal, en réalité les signaux électriques ne passent pas instantanément de 0 à 1, les pentes (ici verticales) sont obliques, et le traitement des entrées cause un retard sur les sorties:

 

Expression algébrique

Le but de l'algèbre de Boole est de décrire le traitement de signaux sous forme d'expression algébrique. Comme nous l'avons vu, les signaux sont représentés par des noms de variables. Les fonctions logiques sont représentées par des opérateurs:

  • la fonction OU est représenté par un plus:
  • la fonction ET est représenté par un point:
  • la fonction NON est représenté par une barre au-dessus de la variable inversée:
    Elle est parfois représentée par un / devant la variable inversée
  • la fonction OU EXCLUSIF est représenté par un plus encerclé:

Une expression algébrique sera donc une expression du type:

 

Table de vérité

Une table de vérité est un tableau permettant de décrire toutes les possibilités de sorties en fonction des entrées. On place donc les variables d'entrées dans les colonnes de gauche en les faisant varier de telle façon à couvrir l'ensemble des possibilités. La colonne (ou les colonnes si la fonction a plusieurs sorties) de droite décrit la sortie.

Voici par exemple les tables de vérités des portes logiques:

 

 

Nom de la porte Entrée Sortie
  A B
S
OU
0 0
0
0 1
1
1 0
1
1 1
1
ET
0 0
0
0 1
0
1 0
0
1 1
1
NON OU
0 0
1
0 1
0
1 0
0
1 1
0
NON ET
0 0
1
0 1
1
1 0
1
1 1
0
NON
0
1
1
0

Il est possible à partir de la table de vérité d'une fonction d'écrire l'expression algébrique de celle-ci.
Soit la table de vérité suivante:

 

Entrée Sortie
A B
S
0 0
0
0 1
0
1 0
1
1 1
0

La sortie vaut 1 lorsque A vaut 1 et B vaut 0, l'expression algébrique de cette fonction est donc:

Prenons maintenant la table de vérité suivante:

 

Entrée Sortie
A B C
S
0 0 0
0
0 0 1
0
0 1 0
1
0 1 1
0
1 0 0
0
1 0 1
0
1 1 0
1
1 1 1
0

La sortie vaut 1 lorsque

  • A vaut 0
  • B vaut 1
  • C vaut 0
ou
  • A vaut 1
  • B vaut 1
  • C vaut 0
L'expression algébrique de cette fonction est donc:

Accueil