Pourquoi les octets

Fermé
PatHibulaire - 12 juin 2003 à 12:15
 mnz0 - 14 mars 2017 à 02:54
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
A voir également:

22 réponses

ipl Messages postés 5723 Date d'inscription lundi 8 octobre 2001 Statut Contributeur sécurité Dernière intervention 14 avril 2012 585
12 juin 2003 à 12:39
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
batmat Messages postés 1871 Date d'inscription jeudi 1 novembre 2001 Statut Membre Dernière intervention 9 janvier 2008 114
13 juin 2003 à 10:03
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 :-)
0
un Mégamerci ou1 048 576 mercis d'un béotien au fait la machin à 7 bits peut être est ce un heptatet?
0
ipl Messages postés 5723 Date d'inscription lundi 8 octobre 2001 Statut Contributeur sécurité Dernière intervention 14 avril 2012 585
12 juin 2003 à 18:05
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
1
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
12 juin 2003 à 12:18
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...
0
batmat Messages postés 1871 Date d'inscription jeudi 1 novembre 2001 Statut Membre Dernière intervention 9 janvier 2008 114
12 juin 2003 à 15:01
>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 ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Marden Messages postés 1072 Date d'inscription dimanche 11 février 2001 Statut Membre Dernière intervention 29 janvier 2006 208
12 juin 2003 à 16:42
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
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
12 juin 2003 à 16:50
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
0
Fu Xuen Messages postés 3639 Date d'inscription jeudi 24 avril 2003 Statut Contributeur Dernière intervention 11 septembre 2005 305
12 juin 2003 à 20:04
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 =-
0
ipl Messages postés 5723 Date d'inscription lundi 8 octobre 2001 Statut Contributeur sécurité Dernière intervention 14 avril 2012 585
12 juin 2003 à 23:20
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
0
blux Messages postés 25994 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 23 avril 2024 3 289
13 juin 2003 à 08:50
voui, on dit plutôt un "byte"...

A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
0
batmat Messages postés 1871 Date d'inscription jeudi 1 novembre 2001 Statut Membre Dernière intervention 9 janvier 2008 114 > blux Messages postés 25994 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 23 avril 2024
13 juin 2003 à 09:14
?
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 ?
0
blux Messages postés 25994 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 23 avril 2024 3 289 > blux Messages postés 25994 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 23 avril 2024
13 juin 2003 à 09:41
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"
0
lagassat Messages postés 527 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 6 septembre 2004 80 > blux Messages postés 25994 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 23 avril 2024
13 juin 2003 à 09:48
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"
0
blux Messages postés 25994 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 23 avril 2024 3 289 > blux Messages postés 25994 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 23 avril 2024
13 juin 2003 à 09:54
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"
0
Utilisateur anonyme
13 juin 2003 à 00:36
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
0
ipl Messages postés 5723 Date d'inscription lundi 8 octobre 2001 Statut Contributeur sécurité Dernière intervention 14 avril 2012 585
13 juin 2003 à 00:42
miam... merci pour l'intermède gastronomique Kinder ! ;-)

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

Poster, poster encore et toujours :-)
0
Utilisateur anonyme
13 juin 2003 à 13:21
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
0
batmat Messages postés 1871 Date d'inscription jeudi 1 novembre 2001 Statut Membre Dernière intervention 9 janvier 2008 114
13 juin 2003 à 13:43
bon ! je vais me pendre et je reviens ;p
@++

Poster, poster encore et toujours :-)
0
PatHibulaire
16 juin 2003 à 10:56
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 :-)
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
16 juin 2003 à 11:03
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.
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
16 juin 2003 à 11:08
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)

.  .
\_/
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
16 juin 2003 à 11:26
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
0
batmat Messages postés 1871 Date d'inscription jeudi 1 novembre 2001 Statut Membre Dernière intervention 9 janvier 2008 114
16 juin 2003 à 14:21
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 :-)
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
16 juin 2003 à 14:22
<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>

.  .
\_/
0
batmat Messages postés 1871 Date d'inscription jeudi 1 novembre 2001 Statut Membre Dernière intervention 9 janvier 2008 114 > teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011
16 juin 2003 à 14:28
Ca suffit teebo !!! Tu retourne au café ! :-DD

@++
Poster, poster encore et toujours :-)
0
Castor Messages postés 17858 Date d'inscription mardi 3 juillet 2001 Statut Modérateur Dernière intervention 7 novembre 2023 169
16 juin 2003 à 14:21
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 ?? ;-))
0
PatHibulaire
16 juin 2003 à 15:03
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 :-)
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
16 juin 2003 à 15:50
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...).
0
M&amp;M Messages postés 5038 Date d'inscription dimanche 11 août 2002 Statut Contributeur Dernière intervention 3 décembre 2009 667
16 juin 2003 à 15:56
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!

 :,§_ ç _
(@)=(@)
0
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
0