Pourquoi les octets

[Fermé]
Signaler
-
 mnz0 -
Bonjour,

il y a une question qui trotte dans ma tête depuis quelques temps, c'est : pourquoi utilise t'on les octets comme unité de mesure en informatique ? Je ne trouve la réponse nulle part. De partout on explique les bits et après direst on dit qu'on octet = 8 bits. Oui mais pour quoi on n'est pas resté en base 10 ? ou passé directement en base 16?

Alors est ce que quelqu'un saurait pourquoi l'octet a été adopté comme (l'une des) échelle de mesure en informatique?

Merci

22 réponses

Messages postés
5723
Date d'inscription
lundi 8 octobre 2001
Statut
Contributeur sécurité
Dernière intervention
14 avril 2012
571
Bonjour PatHibulaire, sebsauvage, bonjour à tous,

Donc, comme le dit SebSauvage, base 2 pour les microprocesseurs...

Un nombre binaire est quasiment impossible à exprimer par un humain : trop long, erreurs nombreuses, il fallait un regroupement...

Il fallait trouver une puissance de 2 !
7 bits = "xxx" (zut, j'ai oublié le nom !) permet de coder 128 caractères... pas mal pour y ranger les caractères alphanumériques (commandes imprimantes et communications, lettres de l'alphabet, chiffres, etc.) ! ce regroupement a été utilisé (c'est le code ASCII de base) mais on s'est retrouvé coincé quand on a voulu prendre en compte les minuscules, les caractères nationaux, les caractères mathématiques, graphiques, etc. !
8 bits = 1 octet permet d'exprimer 256 caractères possibles ! le voila le code qu'il fallait !

Par contre, il fallait qu'un humain puisse nommer ces 256 caractères différents !
- parfois, on exprime çà en choisissant le nombre décimal correspondant : par exemple, les numéros IP 10.220.200.45 ; autre exemple, aux débuts de la micro (avant l'IBM-PC), on donnait souvent le code d'un programme (petits à l'époque des mémoires de qq Ko) sous cette forme 220, 220, 156, 032, etc. !
- une scission en 2 a été trouvée plus appropriée et çà a donné l'hexadécimal... un nombre d'un octet est ainsi exprimé par 2 nombres de 4 bits de 0 à F !

@12C4 ... In medio stat virtus ...
Ipl
8
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

Messages postés
1871
Date d'inscription
jeudi 1 novembre 2001
Statut
Membre
Dernière intervention
9 janvier 2008
114
http://www.osinet.fr/code/glo.asp?Initial=N
chui tombé sur ça par hasard, pour un mot de moins de 8 bits :

nibble
Unités
Groupe de bits, d'une taille inférieure à 8. Les nibbles de 4 bits, équivalents à un chiffre hexadécimal, sont les plus utilisés.
Il s'agit d'une analogie alimentaire: partant de bit ("un petit morceau"), on est passé à byte ("une bouchée"), puis à nibble ("une petite bouchée") pour évoquer la grandeur intermédiaire entre le bit et l'octet.


@++
Poster, poster encore et toujours :-)
un Mégamerci ou1 048 576 mercis d'un béotien au fait la machin à 7 bits peut être est ce un heptatet?
Messages postés
5723
Date d'inscription
lundi 8 octobre 2001
Statut
Contributeur sécurité
Dernière intervention
14 avril 2012
571
Rebonjour à tous,

Bien sûr tout çà n'est pas né avec le micro-ordinateur même si je m'y suis référé plus haut !
Un peu comme pour la théorie de l'évolution de Darwin, il y a eu des essais, des erreurs (comme le rapelle Marden) ; il y avait des machines "à mots", etc.



Après avoir rédigé mon post, en mangeant, j'ai pensé à un autre truc :
> Oui mais pour quoi on n'est pas resté en base 10 ?
Avant le micro-ordinateur donc... dans l'assembleur de l'IBM-360, nous distinguions plusieurs natures de données et parmi elles, il y avait ce qu'on appelait le BCDIC ("Binary Coded Decimal Interchange Code"... pas sûr pour I & C) qui était comme son nom l'indique, du Décimal codé en Binaire : il s'agissait de nombres qui n'étaient pas en hexa mais en "pseudo-décimal" plus facilement lisibles dans les Dumps, par exemple, la valeur 342 étaient codée (code hexa) 00342C -ici sur 3 octets- et moins 342 était 00342D et 342 sans signe était 00342F

Autre petite info mais que je suis incapable d'expliquer : en Assembleur IBM360, nous n'utilisions pas le code ASCII mais le code EBCDIC = "Extended Binary Coded Decimal I. C.
Ceci pour essayer de répondre à la question de PatHibulaire " Oui mais pour quoi on n'est pas resté en base 10 ? "

@12C4 ... In medio stat virtus ...
Ipl
Messages postés
32844
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 593
Un microprocesseur est un assemblage de porte éléctronique qui bloquent et laissent passer le courant.

y'a du courant = 1
pas de courant = 0

On a donc naturellement adopté la base 2.

Pour l'octet, je ne sais plus trop...
Messages postés
1871
Date d'inscription
jeudi 1 novembre 2001
Statut
Membre
Dernière intervention
9 janvier 2008
114
>7 bits = "xxx" (zut, j'ai oublié le nom !)
un septet ??? :-)

@++

Vous hésitez entre Linux et Windows?
Vous voulez dépenser du temps ou de l'argent ?
Messages postés
1072
Date d'inscription
dimanche 11 février 2001
Statut
Membre
Dernière intervention
29 janvier 2006
207
Il ne faudrait pas croire que l'informatique est née avec le microprocesseur. Tous les outils matériels et logiciels actuels sont le résultat de cogitations multiples, ajoutées les unes aux autres qui pourraient faire croire qu'il suffit de penser que ... la chose soit réalisée. D'aucuns s'étonnent même que leur besoin du moment n'ait pas déjà une solution toute prête.

Sans remonter à la nuit des temps, contentons nous de revenir aux premiers ordinateurs, d'il y a quelques décennies seulement, appliquant des traitements en binaire. Le circuit actif (pas encore le composant) de base étant la bascule bistable (à 2 états stables) capable de mémoriser 2 états (0 et 1), originellement réalisée avec des tubes électroniques, souvent des doubles triodes (genre 12AT7). Il fallait en changer plusieurs par jour sur les premiers ordinateurs. Les mémoires (à ferrites) sont elles-aussi capables de conserver de l'information où chaque élément peut prendre les 2 mêmes états.
En groupant ces bascules par 8, on dispose de quoi coder un octet, soit 256 états, capable de mémoriser une valeur numérique entière, un code instruction, puis plus tard un caractère (selon un code qui n'était pas de l'ASCII). Les multiples de l'octet ont permis de coder des entiers simples (sur 16 bits ou 1/2 mot pour certains constructeurs), doubles (32 bits), puis les nombres flottants simple et double précision ... Un autre intérêt de cette échelle de regroupement a été de pouvoir changer de mode d'adressage (octet/demi-mot/mot/double) par simple décalage d'un bit à chaque fois, ce qui correspond à une divison/multiplication par 2. Certaines machines (Control Data) ont - très bien - fonctionné avec des "mots" de 36 bits, en manipulant des caractères codés sur 6 bits.

Les théoriciens du calcul numérique considèrent pourtant que la base idéale est 3 (ternaire) et non 2 (binaire), valeur la plus proche de "e" (= 2,71828...). Si vous trouvez les composants (à 3 états stables) qui conviendraient, votre fortune est assurée, mais il est peut-être un peu tard !!!

http://www.commentcamarche.com/forum/affich.php3?cat=0&ID=50461&page=1
Messages postés
32844
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 593
Tiens en parlant des ferrites (mémoire magnétiques), les labos de recherche d'IBM ont mis au point une mémoire magnétique (MRAM, Magnetic Random Access Memory), nettement plus rapide que les mémoires Flash traditionnelles (quelques nanosecondes au lieu de quelques millisecondes) et qui consomment nettement moins de courant.

Ces mémoires étant assez rapides pour les utiliser comme mémoire vive des micro-ordinateurs et pouvant retenir les infos même sans courant, ils imaginent déjà des PC s'allumant instantanément.
(Plus de longue phase de démarrage).

http://www.research.ibm.com/resources/news/20001207_mram.shtml
Messages postés
3635
Date d'inscription
jeudi 24 avril 2003
Statut
Contributeur
Dernière intervention
11 septembre 2005
306
D'un point de vue mathématique, la base décimale est tout aussi arbitraire ! De toute façon, aucune base ne permet de lever l'ambigüité des nombres réels.

-= Fu Xuen =-
Messages postés
5723
Date d'inscription
lundi 8 octobre 2001
Statut
Contributeur sécurité
Dernière intervention
14 avril 2012
571
Rebonsoir,

Je crois que je me suis gouré cet après-midi en parlant d'"octet sur 7 bits"... personne ne m'a donc enguirlandé !!!???!!!
Dans octet, il y a "oct-", racine qui signifie 8 comme dans octobre qui était bien le huitième mois de l'année... LOL

Ce que j'avais en tête est ce qu'un constructeur d'ordinateur a utilisé un temps : l'"octal"... un code sur 3 bits de 0 à 7 (le voila le 7 !)... excusez moi mais c'est bien vieux tout çà !

;-)

@12C4 ... In medio stat virtus ...
Ipl
Messages postés
1871
Date d'inscription
jeudi 1 novembre 2001
Statut
Membre
Dernière intervention
9 janvier 2008
114 >
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020

?
byte=octet
Qu'est ce que tu veux dire ?
@++

Vous hésitez entre Linux et Windows?
Vous voulez dépenser du temps ou de l'argent ?
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020
3 121 >
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020

si on veut être strict, un byte est une suite de bits.
c'est par abus de langage qu'on l'assimile à un octet (car c'est l'octet que l'on manipule le plus)

A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
Messages postés
526
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
6 septembre 2004
82 >
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020

salut,

un byte, c'est pas tout simplement la traduction anglaise du mot octet ???

"2 choses sont infinies : l'univers et la betise humaine
bien que en ce qui concerne la 1ere je n'ai pas encore de certitude absolue"
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020
3 121 >
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020

la traduction française de byte est plutôt "multiplet", mais c'est vrai que ça fait désuet !

on trouve aussi en anglais un "eight bit byte", ça veut tout dire :-)

Multiplet :
Chaîne composée d'un certain nombre de bits (au moins deux) traitée comme un tout et représentant généralement un caractère ou une partie de caractère.

Note(s) :
L'octet est un multiplet de huit bits.

[Office de la langue française, 2002]

A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
Messages postés
1871
Date d'inscription
jeudi 1 novembre 2001
Statut
Membre
Dernière intervention
9 janvier 2008
114 >
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020

confirmation :-)

http://www.osinet.fr/code/glo.asp?Initial=B#BYTE

byte Unités octet - En règle générale, groupe de 8 bits, typiquement associé à un caractère.
Sur certains systèmes (Honeywell) à caractères 9 bits, byte désigne ces groupes. De même, en matière de transmissions série, le nombre de bits natif de la ligne de transmission peut être différent de 8 (la transmission 7 bits demeure la plus courante jusqu'au milieu des années 90, et la transmission 5 bits est utilisée pour le telex). On utilise alors le terme "byte" pour désigner l'unité de transmission ou l'unité native du système, et le terme "octet" ou "8-bit-byte" pour désigner de manière non ambigüe un groupe de de 8 bits.

En matière de transmission asynchrone, le byte représente l'unité de transmission, incluant données, parité et marqueurs de début et fin


@++

Poster, poster encore et toujours :-)

Dans octet, il y a "oct-", racine qui signifie 8 comme dans octobre qui était bien le huitième mois de l'année... LOL

bien sûr!

on a changé pour janvier, qui fait d'octobre le dixième mois, mais n'oublions pas qu'au commencement, il n'en était pas ainsi, le premier mois était mars, à cause des crêpes. Puis, sur les conseils de son nutritionniste, discipline médicale rigoureuse s'il en est, la première dame de France fut contrainte à repousser les crêpes deux mois plus tard, soit au troisième mois. Il fut donc décidé que le premier mois serait dorénavant janvier.

un peu d'histoire ne fait pas de mal, y a pas que l'informatique dans la vie (y a aussi les crêpes)

kinder.surprise,
le maton du matou
Messages postés
5723
Date d'inscription
lundi 8 octobre 2001
Statut
Contributeur sécurité
Dernière intervention
14 avril 2012
571
miam... merci pour l'intermède gastronomique Kinder ! ;-)

@12C4 ... In medio stat virtus ...
Ipl
Messages postés
1871
Date d'inscription
jeudi 1 novembre 2001
Statut
Membre
Dernière intervention
9 janvier 2008
114
Maintenant, j'ai envie de manger avec tes conneries (-:
@++

Poster, poster encore et toujours :-)
Utilisateur anonyme
ah? par exemple, une bonne crêpe dorée avec une banane cuite au caramel et des amandes pilées, un peu de miel et une boule vanille? (-:

kinder.surprise,
le maton du matou
Messages postés
1871
Date d'inscription
jeudi 1 novembre 2001
Statut
Membre
Dernière intervention
9 janvier 2008
114
bon ! je vais me pendre et je reviens ;p
@++

Poster, poster encore et toujours :-)

Waouh...
Ben d'abord merci pour vos réponses :-)

Mais bon y a quand même des aspects qui me laissent perplexe parce que je n'arrive toujours pas à trouver une justification du choix de l'octet. Voilà ce que je retiens, pour l'instant de cette discussion.

Pour le binaire, je comprends, c'est quand même plus facile de travailler avec des éléments en base 2 et de fabriquer des composants électroniques qui n'ont que 2 états.

Mais je ne vois pas quelle est la raison qui a justifié qu'on les regroupe en mots de 8 bits et pas 10 bits. Fu Xuen dit que la base décimale est arbitraire. Je suis tout à fait d'accord mais vu que c'est celle qui est utilisée dans "l'usage courant", on aurait certainement eu plus de facilités à manipuler des nombres en base 10 qu'en base 8.

Ensuite, pour répondre à Marden, qu'on ait 8 ou 10 bits, le décallage d'un bit à gauche ou à droite permet de multiplier ou diviser un nombre par 2. Et puis avec 10 bits, il est aussi possible de coder des entiers simples, doubles, des nombres flottants, etc. non ?

ipl, en parlant du BCDIC montre un code décimal, ce qui montre bien que le décimal a été envisagé, mais pourquoi il n'a pas été retenu ?

La raison que je me donne c'est qu'à l'époque, il fallait gagner de la place au niveau de la mémoire, ce qui a peut-être justifié le code ASCII, exprimé sur 7 bits. Comme dit ipl 7 bits étaient largement suffisants pour les besoins de l'époque. Ensuite on est peut-être passé à 8 bits parce qu'il permettait de définir de nouveaux caractères et que 8 est un multiple de 2, ce qui est plus facile pour les changements de base.

Voilà, j'attends encore vos commentaires ou vos idées :-)
Messages postés
32844
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 593
La raison des octets:

L'ordinateur calcul en base 2.
Il est donc beaucoup plus facile de concevoir des circuits qui travaillent avec des blocs de données qui sont puissance de 2.

D'ou le 8 et non 10.

D'ailleurs absolument tout est exprimé en puissances de 2 (ou sommes de puissances de 2): la taille des mémoire cache, la largeur des bus, la capacité des barettes mémoires, la taille des unités d'allocation d'un disque, la taille des registres du microprocesseur, etc.
Messages postés
33478
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
1 782
Ouialle, c'est pas vraiment une raison, je me demande si la raison de base n'etait pas que au depart on avait du "8bit" comme "nappe" et du coup un "bloc" de donnees passant par cette nappe a ete appele byte (traduit par octet)...Parce que sinon sans vouloir mettre de l'huile sur le feu, mais la base 2 ne s'impose pas d'elle meme pour un regroupement de bits :o)

.  .
\_/
Messages postés
32844
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 593
J'ai trouvé une autre justification de l'octet à 8 bits là, FWIW:
http://www.ac-nice.fr/physique/rouviere/parcours/parcou02/etap02_5/en02_5.htm
Messages postés
1871
Date d'inscription
jeudi 1 novembre 2001
Statut
Membre
Dernière intervention
9 janvier 2008
114
Je sais plus si ça a été dit, mais je suppose que vous savez pourquoi on compte en base 10 ?

Ben parce qu'on a 10 doigts :-)

(Ceci n'est pas une blague ;-) )

@++
Poster, poster encore et toujours :-)
Messages postés
33478
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
1 782
<hors sujet>Et ceux qui ont ete ampute d'un doigt ils comptent en base neuf, ca serait vachement pratique pour communiquer :-DDD</hors sujet>

.  .
\_/
Messages postés
1871
Date d'inscription
jeudi 1 novembre 2001
Statut
Membre
Dernière intervention
9 janvier 2008
114 >
Messages postés
33478
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011

Ca suffit teebo !!! Tu retourne au café ! :-DD

@++
Poster, poster encore et toujours :-)
Messages postés
17747
Date d'inscription
mardi 3 juillet 2001
Statut
Modérateur
Dernière intervention
11 mars 2015
136
ben je penche comme sebsauvage pour la raison "pratique"
il est tres dur de compter 10 en binaire
8 etant le plus proche de 10 (en puissance de 2 on a 8 ou 16) ca explique l'octet...

pour moi c'est la transition "naturelle" du bit...

.O  Sauvez Mary, mangez Chouba:-D
(_)__
... Castor

et le ko c'est 1000 ou 1024 ?? ;-))

OK, d'après le lien fournit par Sebsauvage, le 8 bits est plus une question de gain de place (optimisation du code selon les besoins). Mais j'aime bien aussi son explication avec le chiffre 8 multiple de 2. Pour avoir 8 en décimal, il nous faut 4 bits alors que pour compter 7, 3 bits suffisent. On a donc rajouté un chiffre. Pour compter 9 et 10 en décimal, il nous faut 4 bits aussi donc ici la base 10 est peu pratique.
Bon je suis pas sûr d'avoir été trés clair mais ça se précise un peu dans ma tête :-)
Messages postés
32844
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 593
PatHibulaire> oui voilà.
C'est ce que je voulais dire, mais je ne l'ai pas dit clairement.

3 bits = 0...7
4 bits = 0...15

10 tombe très mal, entre 3 et 4 bits.

Si on est allé jusqu'à 8, je pense que c'est en grande partie dûe à l'architecture des premiers microprocesseurs pour micro-ordinateurs (même si il y a eu des processeurs 4 bits avant...).
Messages postés
5038
Date d'inscription
dimanche 11 août 2002
Statut
Contributeur
Dernière intervention
3 décembre 2009
662
Je n'ai pas tout lu mais pour moi, le choix de l'octet erst puremnt arbitraire et on aurait pu avoir n'importe quoi d'autres si les premier microprocesseurs n'avaient pas été orgagnisé en 4 bit puis 8 bit.

Les premiers PDP de Digital Equipment dont je parlais sur http://www.commentcamarche.com/forum/affich-152614?full#2 tournaient en 18 bit (1960) puis en 12 et 14 bits. De ce temps là on écrivait les bits en octal ce qui était facile, plus facile qu'en hexa si les microprocesseurs avaient adopté le format 12 ou 14 bits!

 :,§_ ç _
(@)=(@)
Tout simplement parce qu'on représentait le caractère dans un carré de 8 sur 8 pixels. En choisissant un nombre en base de base 2, 4/4 Pixels limitait les possibilités graphiques et 16/16 était un peu grand.

voilà.

Kelpan