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.
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.
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.
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 :