Flux rss
Collection CommentCaMarche.net
 

Le codage binaire

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 calcule depuis 2000 ans avant Jésus-Christ avec 10 chiffres (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), on parle alors de base décimale (ou base 10). Toutefois dans des civilisations plus anciennes ou pour certaines applications actuelles d'autres bases de calcul ont et sont toujours utilisées :

  • base sexagésimale (60), utilisée par les Sumériens. Cette base est également utilisée dans le système horaire actuel, pour les minutes et les secondes ;
  • base vicésimale (20), utilisée par les Mayas ;
  • base duodécimale (12), utilisée par les anglo-saxons dans leur système monétaire jusqu'en 1960 : un « pound » représentait vingt « shilling » et un « shilling » représentait douze « pences ». Le système d'heure actuel fonctionne également sur douze heures (notamment dans la notation anglo-saxonne) ;
  • base quinaire (5), utilisée par les Mayas ;
  • base binaire (2), utilisée par l'ensemble des technologies numériques.

Le bit

Le terme bit (b avec une minuscule dans les notations) signifie « binary digit », c'est-à-dire 0 ou 1 en numérotation binaire. Il s'agit de 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, au-delà d'un certain seuil, correspond à la valeur 1 ;
  • par des aspérités géométriques dans une surface ;
  • grâce à des bistables, c'est-à-dire des composants électroniques qui ont deux états d'équilibre (l'un correspond à l'état 1, l'autre à 0).

Avec un bit il est ainsi possible d'obtenir deux états : soit 1, soit 0. Grâce à 2 bits, il est possible d'obtenir 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) :

Valeur binaire sur 3 bits Valeur décimale
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7

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

Poids des bits

Dans un nombre binaire, la valeur d'un bit, appelée poids, dépend de la position du bit en partant de la droite. A la manière des dizaines, des centaines et des milliers pour un nombre décimal, le poids d'un bit croît d'une puissance de deux en allant de la droite vers la gauche comme le montre le tableau suivant :

Nombre binaire11111111
Poids27 = 12826 = 6425 = 3224 = 1623 = 822 = 421 = 220 = 1

Conversions

Pour convertir un mot binaire en nombre décimal, il suffit de multiplier la valeur de chaque bit par son poids, puis d'additionner chaque résultat. Ainsi, le mot binaire 0101 vaut en décimal :

23x0 + 22x1 + 21x0 + 20x1
= 8x0 + 4x1 + 2x0 + 1x1
= 5

L'octet

L'octet (en anglais byte ou B avec une majuscule dans les notations) est une unité d'information composée de 8 bits. Il permet par exemple de stocker un caractère, tel qu'une lettre ou 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. Le nombre « 1 256 245 » est par exemple 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 mot double (en anglais double word, d'où l'appellation dword).

Pour un octet, le plus petit nombre est 0 (représenté par huit zéros 00000000), et le plus grand est 255 (représenté par huit chiffres « 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 faible (les bits de droite) puis on a des retenues lorsque la somme de deux bits de même 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 multiplicateur (seuls les bits non nuls donneront un résultat non nul). Lorsque le bit du multiplicateur 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 multiplicateur.

Par exemple :

    0 1 0 1 multiplicande
x   0 0 1 0 multiplicateur
- - - - - -
    0 0 0 0
  0 1 0 1  
0 0 0 0    
- - - - - -
  0 1 0 1 0


Dernière modification le mardi 14 octobre 2008 à 17:40:31.
Ce document intitulé « Le codage binaire » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Résultats pour Le codage binaire

Codage binaire vers decimal (Résolu) Bonsoir; SVP j'ai un probleme de transmetre un code binaire à un code decimal je veut un algorithme en progreamme pascal version 0.7 SVP claire et naite.... MERCI D'AVANCE www.commentcamarche.net/forum/affich-5731119-codage-binaire-vers-decimal
Passage du caractere au code binaire (Résolu) Bonjour, pour un programme java de cryptographie (DES) je cherche une methode java qui permet de convertir une chaine de caractere en code binaire (ASCII) .merci www.commentcamarche.net/forum/affich-9377332-passage-du-caractere-au-code-binaire
Codage de Huffman Le codage de Huffman David Huffman a proposé en 1952 une méthode statistique qui permet d'attribuer un mot de code binaire aux différents symboles à compresser (pixels ou caractères par exemple). La longueur de chaque mot de code n'est pas... www.commentcamarche.net/contents/video/huffman.php3

Résultats pour Le codage binaire

Compiler/tester en 32 bits sur Ubuntu x86-64Imaginons que vous ayez un code source que vous voulez compiler pour le tester ou l'utiliser en tant que binaire 32 bits. Le problème c'est que les headers de la librairie standard ne sont pas adaptés à celà et vous aurez aussi besoin d'une version... www.commentcamarche.net/faq/sujet-9185-compiler-tester-en-32-bits-sur-ubuntu-x86-64
Codes d'erreur de WindowsLa liste ci-dessous détaille les codes d'erreur s'affichant dans les boîtes de dialogue sous Windows : Code Description ------------------------ 1 Fonction incorrecte. 2 Le fichier spécifié est introuvable. 3 Le chemin d'accès spécifié... www.commentcamarche.net/faq/sujet-2915-codes-d-erreur-de-windows
[Audio/Vidéo] Déterminer les codecs nécessairesAvec la multiplicité des formats vidéo et audio, il n'est pas rare de ne pas être capable de lire un fichier multimédia car un codec vidéo ou audio est manquant. Quel codec manque ? Où le télécharger ? Les outils présentés dans cet article vous seront... www.commentcamarche.net/faq/sujet-2588-audio-video-determiner-les-codecs-necessaires

Résultats pour Le codage binaire

Binaire ! (Résolu)Bonjour, J'aimerais savoir comment marche le binaire. Dans le sens a se que sa produit. Et en quel type/Format doit on enregistrer le code binaire ? Merci de répondre :). Mes Intentions ? - Aider les personnes en Difficulté ! www.commentcamarche.net/forum/affich-6998525-binaire
Aide pour code !! (Résolu)Bonjour, j'ai besoin d'aide , voila bien 1h30 que j'erre sur internet en vain en essayant de decoder un code binaire je dirais ... un peu long , en lettre normale !! je suis desolé de vous embeter mais la je seche vraiment et... www.commentcamarche.net/forum/affich-7256263-aide-pour-code
Traduction d'un code binaire en nombre (Résolu)Bonjour, existe-t-il une façon de déterminer rapidement , soit de façon mathématique la conversion d'un octet en nombre ? En prenant l'octet de l'exemple suivant: 11000110 Et de convertir le chiffre suivant: 192 en octet. Merci. www.commentcamarche.net/forum/affich-1062506-traduction-d-un-code-binaire-en-nombre

Résultats pour Le codage binaire

Télécharger Binary Clock Screensaver Le langage binaire est encore mal connu de tous. Cet éditeur a trouvé le moyen d'allier ce langage avec un écran de veille. Binary Clock Screensaver est un écran de veille basé sur une horloge binaire. L'interface repose sur un fond noir et des leds... www.commentcamarche.net/telecharger/telecharger-34055954-binary-clock-screensaver
Télécharger DivX codecsLe codec Divx Community est gratuit pour un usage personnel et permet de lire les fichiers au format DivX ! L'installeur contient les éléments suivants : DivX Player 6.8.2 DivX Community Codec 6.8.4 DivX Web Player 1.4 L'installeur... www.commentcamarche.net/telecharger/telecharger-74-divx-codecs
Télécharger Vista Codec PackageVista Codec Package regroupe une collection impressionnante de codecs (audio et vidéo), permettant d'ouvrir la plupart des formats multimédias existants (xvid, windows media video 9, ffdshow, ogg et ac-3 acm) ! Contrairement à la plupart des autres... www.commentcamarche.net/telecharger/telecharger-34055126-vista-codec-package

Résultats pour Le codage binaire

Code ASCIILe codage des informations Le morse a été le premier codage à permettre une communication longue distance. C'est Samuel F.B.Morse qui l'a mis au point en 1844. Ce code est composé de points et de tirets (un codage binaire en quelque sorte...). Il... www.commentcamarche.net/contents/base/ascii.php3
Le contrôle des erreursLe contrôle d'erreurs Le codage binaire est très pratique pour une utilisation dans des appareils électroniques tels qu'un ordinateur, dans lesquels l'information peut être codée grâce à la présence ou non d'un signal électrique. Cependant le... www.commentcamarche.net/contents/base/control.php3
Représentation des nombres entiers et réelsReprésentation d'un nombre dans un ordinateur On appelle représentation (ou codification) d'un nombre la façon selon laquelle il est décrit sous forme binaire. La représentation des nombres sur un ordinateur est indispensable pour que celui-ci... www.commentcamarche.net/contents/base/representation.php3