# Préfixe binaire

Les préfixes binaires sont souvent utilisés lorsqu’on a affaire à de grandes quantités d’octets. Ils sont dérivés, tout en étant différents, des préfixes du Système international d'unités (kilo-, méga-, giga- et ainsi de suite).
La raison d’être de ces préfixes binaires est d’éviter la confusion de valeur avec les préfixes SI.
Du fait que les capacités de mémoires d’ordinateurs sont des puissances de deux ou des multiples de telles puissances, l’utilisation de puissances de 1 024 = 2$^{10}$ comme préfixes pour de telles capacités et, de façon dérivée, pour toutes les tailles de programmes et de supports informatiques, est venue naturellement aux informaticiens. Le problème est que les premiers informaticiens n’ont pas éprouvé le besoin d’inventer de nouveaux préfixes ; ils ont simplement utilisé les préfixes SI en changeant légèrement leur valeur (par exemple kilo → 1 024 au lieu de 1 000). L’habitude en est ensuite restée.
Si l’erreur ainsi faite est faible pour les premières capacités mémoires qui s’exprimaient en ko (2,4 %), elle devient difficilement tolérable dans le cas des capacités actuelles qui s’expriment en Go (7,4 %), voire en To (10 %).
C’est la raison pour laquelle le besoin s’est fait sentir de créer les préfixes binaires. Bien qu’ils existent depuis 1998 (voir ci-dessous : normes), certains informaticiens sont réticents à utiliser ces préfixes. Donc les deux systèmes cohabitent actuellement, ce qui permet d’entretenir une confusion pour le grand public. D’autant plus que les vendeurs de disques dur, CD et DVD ont bien compris leur intérêt d’utiliser les préfixes SI avec leurs vraies valeurs : ils suivent ainsi la norme de 1998, mais ceux de leurs acheteurs qui ne la suivent pas croient acheter des disques de plus grandes capacités que ce qui est indiqué.
Une autre pratique des informaticiens a été de raisonner en adoptant l’octet pour unité implicite et donc d’abréger les préfixes : k, M, et G pour kilooctet, mégaoctet et gigaoctet. Un terme tel que « trois mégaoctets » est parfois abrégé, de façon incorrecte selon les normes, en « 3 M » au lieu de « 3 Mo », ce qui entretient là aussi une certaine confusion.

## Normes

En 1999, le Comité technique 25 (Quantités et unités) de la Commission électrotechnique internationale (CEI) a publié l’Amendement 2 de la norme CEI 60027-2 : Symboles littéraux à utiliser en électrotechnique – Deuxième partie : Télécommunications et électronique. Cette norme, d’abord publiée en 1998, introduit les préfixes kibi-, mébi-, gibi-, tébi-, pébi- et exbi-. Les noms sont formés en prenant la première syllabe de chaque préfixe SI et en lui suffixant bi pour « binaire ». La norme stipule également que les préfixes SI ont toujours leurs valeurs de puissances de 10 et ne doivent jamais être utilisés comme puissances de 2.
Largement inspiré par la CEI, l’IEEE a adopté ces préfixes dans le standard IEEE 1541 et le CENELEC en a fait une norme européenne sous la référence EN 60027-2:2007.
Dans la deuxième version parue en 2004, les préfixes CEI s’arrêtaient initialement à exbi-, correspondant au préfixe SI exa-. Les deux autres préfixes SI zetta- (10$^{21}$) et yotta- (10$^{24}$) seront « traduits » un an plus tard lors de la publication de la troisième version.
L’usage de cette norme ne s’est pas encore généralisé. Malgré tout, les dernières versions de certains logiciels, voire de systèmes d’exploitations (comme Ubuntu à partir de la version 10.10 et Mac OS X à partir de Snow Leopard), en tiennent maintenant compte. Par contre, d'autres comme Microsoft Windows continuent d'utiliser des valeurs binaires avec des préfixes SI.

## Tableaux des préfixes binaires et décimaux

Voici à gauche le tableau des préfixes binaires et à droite celui des préfixes décimaux, pour comparaison.
Préfixes binaires (préfixes CEI) :
| Nom | Symbole | 2$^{10a}$ = facteur | a |
| kibi | Ki | 2$^{10}$ = 1 024 | 1 |
| mébi | Mi | 2$^{20}$ = 1 048 576 | 2 |
| gibi | Gi | 2$^{30}$ = 1 073 741 824 | 3 |
| tébi | Ti | 2$^{40}$ = 1 099 511 627 776 | 4 |
| pébi | Pi | 2$^{50}$ = 1 125 899 906 842 624 | 5 |
| exbi | Ei | 2$^{60}$ = 1 152 921 504 606 846 976 | 6 |
| zébi | Zi | 2$^{70}$ = 1 180 591 620 717 411 303 424 | 7 |
| yobi | Yi | 2$^{80}$ = 1 208 925 819 614 629 174 706 176 | 8 |
Préfixes décimaux (préfixes SI) :
| Nom | Symbole | 10$^{3a}$ = facteur | a | Erreur | Erreur inverse |
| kilo | k | 10$^3$ = 1 000 | 1 | 2,4 % | -2,3 % |
| méga | M | 10$^6$ = 1 000 000 | 2 | 4,9 % | -4,6 % |
| giga | G | 10$^9$ = 1 000 000 000 | 3 | 7,4 % | -6,9 % |
| téra | T | 10$^{12}$ = 1 000 000 000 000 | 4 | 10 % | -9,1 % |
| péta | P | 10$^{15}$ = 1 000 000 000 000 000 | 5 | 13 % | -11 % |
| exa | E | 10$^{18}$ = 1 000 000 000 000 000 000 | 6 | 15 % | -13 % |
| zetta | Z | 10$^{21}$ = 1 000 000 000 000 000 000 000 | 7 | 18 % | -15 % |
| yotta | Y | 10$^{24}$ = 1 000 000 000 000 000 000 000 000 | 8 | 21 % | -17 % |
Dans ce deuxième tableau, l’erreur indiquée dans l'avant dernière colonne est celle effectuée quand on utilise un préfixe décimal à la place d’un préfixe binaire (et non le contraire). Si cette erreur n’est que de 2,4 % pour kilo au lieu de kibi, ce qui est parfois supportable, elle atteint 7,4 % pour giga/gibi, et même presque 10 % pour téra/tébi.
Ce rapprochement entre préfixes décimaux et binaires provient d'une coïncidence arithmétique qui fait que 1 024 = 2$^{10}$ est proche de 1 000 = 10$^3$, à 2,4 % près. Cette coïncidence permet plus généralement d'estimer les puissances successives de 2 à partir des puissances successives de 10. Cela permet de mieux apprécier l'ordre de grandeur de chaque puissance de deux, voire de trouver une approximation en notation décimale, pour des exposants pas trop élevés.
La formule 2$^{10a+b}$ ≈ 2$^b$10$^{3a}$ donne une bonne précision pour les exposants « 10a + b » (puissance de 2) inférieurs à 50 environ, c'est-à-dire pour les exposants « 3a » (puissance de 10) inférieurs à 15 environ. Pour les exposants « 10a + b » (puissance de 2) inférieurs à 300 environ, c'est-à-dire pour les exposants « 3a » (puissance de 10) inférieurs à 90 environ, « 3a » est toujours une estimation satisfaisante pour l'ordre de grandeur, c'est-à-dire pour le nombre de zéros à inscrire après le « 1 ».
Pour a = 5 et b = 3 par exemple, l'approximation donne : 2$^{53}$ ≈ 8 × 10$^{15}$. Or, si 10$^{15}$ reste un bon ordre de grandeur, la valeur réelle de 2$^{53}$ est plus proche de 9 × 10$^{15}$.
Pour les exposants « 10a + b » (puissance de 2) supérieurs à 300 environ, c'est-à-dire pour les exposants « 3a » (puissance de 10) supérieurs à 90 environ, l'approximation devient de moins en moins précise ; l'ordre de grandeur se décale progressivement pour atteindre un écart d'une magnitude (un zéro) vers « 3a » (puissance de 10) = 300 environ.
Ainsi, pour a = 100 et b = 0 par exemple, l'écart relatif entre 2$^{1000}$ et 10$^{300}$ est d'environ
    ${\begin{aligned}{\frac {2^{1000}}{10^{300}}}&=\exp {\Bigl\ln {\Bigl{\frac {2^{1000}}{10^{300}}}{\Bigr )}{\Bigr )}\\&=\exp {\bigl\ln {\bigl2^{1000}{\bigr )}-\ln {\bigl10^{300}{\bigr )}{\bigr )}\\&\approx \exp(693{,}147-690{,}776)\\&\approx \exp(2{,}372)\\&\approx 10{,}72.\end{aligned}}$
Dans les deux tableaux ci-dessus, « b » est toujours égal à 0, « a » varie de 1 à 8. La valeur de « a » est indiquée dans la quatrième colonne de chacun des deux tableaux. La formule utilisée est rappelée dans le titre de la colonne précédente contenant également la valeur du résultat.

## Usage historique

Selon chaque informaticien et (ou) électronicien, les préfixes SI prenaient le sens des puissances de 2 (valeurs du tableau de gauche de la section précédente) ou de 10 (valeurs du tableau de droite de la section précédente). Ces guerres de clochers sont toujours d’actualité et entretiennent la confusion qui en découle.
Les fabricants de périphériques de stockage ne s'y trompent pas et utilisent habituellement les préfixes SI, le nombre résultant étant le plus grand. Ainsi un disque dur de 30 Go a une capacité de 30 × 10$^9$ octets, soit environ 28 × 2$^{30}$ octets ou 28 Gio. En télécommunications, une connexion à 1 Mbit/s transfère 10$^6$ bits par seconde. Cependant, dans la hiérarchie numérique plésiochrone, les lignes E1, dites 2 Mbit/s correspondent en réalité à 2 048 000 bit/s (soit 32 canaux de 64 kbit/s).
Parfois les deux systèmes peuvent se mélanger. Pour les fabricants de disquettes, le préfixe « M » ne signifiait ni 1 000 × 1 000, ni 1 024 × 1 024. La disquette standard 1,44 MB a une capacité de 1,44 × 1 000 × 1 024 octets.
Parfois le symbole « K » est utilisé à la place du symbole « k », essentiellement parce que le système métrique n'a pas été assimilé par tous les anglo-saxons. Certains estiment que « k » correspond au préfixe SI en puissance de dix et que « K » correspond au préfixe en puissance de deux. Ces deux types d’usages sèment eux aussi la confusion. Le SI a refusé « K », qui correspond au symbole du kelvin.
Il peut y avoir également confusion au niveau des symboles des unités de mesure d’information elles-mêmes, ceux-ci n’étant pas définis univoquement. La pratique recommandée est « b » ou « bit » pour le bit, « o » pour l’octet et « B » pour le byte. Les unités « b » et « B » ne sont pas reconnues par le SI. Dans ce système, « B » est le symbole du bel et « b » le symbole du barn. L’utilisation du « O » (« o » majuscule) pour « octet » n'est également pas reconnue par le SI à cause du risque de confusion avec le zéro.