Octet - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

Multiples d’octets
tels que définis par IEC 60027-2
Préfixe SI   Préfixe binaire
Nom Symbole Valeur Nom Symbole Valeur
kilooctet ko 103 kibioctet Kio 210
mégaoctet Mo 106 mébioctet Mio 220
gigaoctet Go 109 gibioctet Gio 230
téraoctet To 1012 tébioctet Tio 240
pétaoctet Po 1015 pébioctet Pio 250
exaoctet Eo 1018 exbioctet Eio 260
zettaoctet Zo 1021 zébioctet Zio 270
yottaoctet Yo 1024 yobioctet Yio 280
Multiples d’octets
Usage traditionnel
Nom Symbole Valeur
kilo-octet ko 210
méga-octet Mo 220
giga-octet Go 230

L’octet est une unité de mesure en informatique mesurant la quantité de données. Un octet est lui-même composé de 8 bits, soit 8 chiffres binaires. Le byte, qui est un ensemble de bits adjacents, a presque toujours une taille d'un octet et les deux mots sont généralement, mais abusivement, considérés comme synonymes.

Symboles

Le symbole de l’octet est la lettre « o » minuscule.

La lettre « o » n'est pas acceptable (en majuscule) dans le système international d'unités (SI) à cause du risque de confusion avec le chiffre 0. Cette question n’est pas résolue, les unités d’information ne faisant pas partie du SI.

Propriétés

Propriétés de représentation binaire

Un octet peut représenter 28 = 256 valeurs différentes. La valeur de tout octet peut s'écrire avec un entier naturel entre 0 et 255 compris (en base 10). Elle peut aussi s'écrire avec huit chiffres binaires, entre 000000002 et 111111112 compris, ou avec deux chiffres hexadécimaux, entre 0016 et FF16 compris. La notation hexadécimale est utilisable dans de nombreux langages informatiques car elle est pratique et compacte pour noter la valeur d'un octet.

Un octet peut servir à noter un entier naturel, appelé en informatique « non signé », entre 0 et 255 (en base 10). Une autre convention courante, le complément à deux, permet de noter un nombre entier, ou « signé », entre -128 et +127 compris (en base 10). Voir aussi l'article Système binaire.

De nombreuses conventions existent pour représenter un caractère par un ou plusieurs octets. On peut notamment citer le codage ISO 8859-1 très utilisé pour représenter avec un octet les 26 lettres minuscules, les 26 majuscules, les 10 chiffres, les lettres accentuées et la ponctuation, des langues d'Europe occidentale, dont le français. Plus récent, le codage UTF-8 permet de noter tout caractère avec un à quatre octets, selon le caractère. L'article sur le codage de caractères développe ce thème.

Propriétés de représentation décimale

Dans certaines applications nécessitant un codage exact des valeurs décimales (par exemple pour les applications financières), les puissances de 2 peuvent ne pas s'avérer pratiques. Aussi un octet est parfois utilisé pour stocker jusqu'à 2 chiffres décimaux exactement (entre 0010 et 9910), chacun codé sur un quartet (4 bits) distinct entre 00002 = 010 et 10012 = 910. Les autres valeurs de quartets peuvent être utilisées pour coder la position d'une virgule décimale, un signe, l'absence de chiffre significatif à la position indiquée, ou une autre fonction spéciale (valeur infinie, valeur erronée non numérique, etc.). Certains calculateurs (et des bibliothèques logicielles de calcul à virgule fixe ou travaillant sur de très grands entiers ou des valeurs de grande précision) utilisent ce format dit « BCD », sigle anglais de binary coded decimal (décimal codé en binaire).

L'usage du codage BCD était populaire sur les anciens systèmes (notamment ceux utilisant l'EBCDIC) car cela évitait une conversion finale coûteuse pour afficher les nombres à virgule flottante. De plus ce système était plus pratique au temps où les données étaient entrées manuellement sur des cartes perforées : pour convertir un nombre BCD en caractères, il suffisait d'éclater le nombre BCD en deux en n'utilisant qu'un seul quartet par octet pour représenter le chiffre en décimal, le quartet de poids fort prenant une valeur fixe indiquant simplement que c'est un chiffre décimal. Les autres valeurs de quartets de poids fort étaient utilisées pour indiquer que c'était une lettre majuscule, une lettre minuscule ou un autre symbole ou ponctuation. Aujourd'hui, dans la plupart des systèmes actuels, le codage EBCDIC des caractères et du BCD pour les valeurs numériques est plus rarement utilisé car la plupart des calculs se font plus rapidement en représentation binaire de façon matérielle avec une précision globale prédéfinie (codée sur un nombre fixe d'octets).

Il existe des variantes du système BCD permettant de conserver une représentation précise des nombres à virgule fixe ou flottante en base 10, tout en permettant une plus grande compacité de stockage et en rendant les calculs plus rapides. L'astuce consiste à grouper les chiffres décimaux et les représenter en binaire sur un groupe de plusieurs octets. Par exemple :

  • tout d'abord la représentation en quartets s'avère coûteuse en termes de traitement, et une valeur BCD est généralement d'abord convertie en supprimant la séparation en quartets, pour alors représenter en binaire les deux chiffres décimaux sur le même octet ; le calcul est alors simplifié car il s'effectue par groupe de 2 chiffres à la fois au lieu d'un seul ; cette représentation laisse 1 bit de poids fort inutilisé (mais on peut l'utiliser comme marqueur pour des valeurs spéciales) ;
  • on peut représenter exactement 4 chiffres décimaux dans un groupe de 2 octets (c'est-à-dire sur 16 bits, puisque ceux-ci peuvent contenir 216 = 65 536 valeurs différentes) ; avec une représentation BCD, on stockerait exactement également 4 chiffres décimaux, mais les calculs se feraient uniquement chiffre par chiffre (c’est-à-dire 4 fois plus lentement) ; cette représentation laisse 2 bits de poids fort inutilisés (mais on peut les utiliser comme marqueurs pour des valeurs spéciales) ;
  • on peut représenter exactement 7 chiffres décimaux dans un groupe de 3 octets (c'est-à-dire sur 24 bits, puisque ceux-ci peuvent contenir 224 = 16 777 216 valeurs différentes) ; avec une représentation BCD, on ne stockerait exactement que 6 chiffres décimaux ; cette représentation ne laisse aucun bit inutilisé ;
  • on peut représenter exactement 9 chiffres décimaux dans un groupe de 4 octets (c'est-à-dire sur 32 bits, puisque ceux-ci peuvent contenir 232 = 4 294 967 296 valeurs différentes) ; avec une représentation BCD, on ne stockerait exactement que 8 chiffres décimaux ; cette représentation laisse 2 bits de poids fort inutilisés (mais on peut les utiliser comme marqueurs pour des valeurs spéciales). Cette représentation est souvent utilisée dans les bibliothèques mathématiques de calcul sur des nombres de très grande précision.
Page générée en 0.041 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise