Octet.
Dans le cours, nous avons signalé qu'un octet peut prendre 28 valeurs différentes.
Expliquez pourquoi. Généralisez le raisonnement à une situation à n bits.
Dans le cours, nous avons signalé qu'un octet peut prendre 28 valeurs différentes.
Expliquez pourquoi. Généralisez le raisonnement à une situation à n bits.
Cherchez à comprendre comment vous pouvez construire toutes les valeurs que l'on peut coder sur trois bits à partir des valeurs que l'on peut coder sur deux bits.
Puis cherchez de même à comprendre comment vous pouvez construire toutes les valeurs que l'on peut coder sur quatre bits à partir des valeurs que l'on peut coder sur trois bits.
Généralisez...
Un bit peut prendre deux valeurs : 0 ou 1.
Avec deux bits : on part de l'état du premier bit (0 ou 1) et on complète par l'état du second bit.
Avec trois bits : on part de l'état des deux premiers bits et on complète par l'état du troisième.
Le nombre de mots de longueur 3 bits est donc le double du nombre de mots de longueur 2 bits.
De la même façon, chaque mot écrit sur 3 bits peut donner lieu à deux mots sur quatre bits : un mot en complétant le mot de longueur trois bits par un 0, et un autre mot en complétant par 1.
Le nombre de mots sur 4 bits sera donc le double du nombre de mots sur 3 bits.
On obtient les états à n bits en complétant chacun des états possibles à n-1 bits par l'une ou l'autre (0 ou 1) des possibilités pour le bit ajouté.
On voit donc que l'on multiplie par deux le nombre d'états possibles à chaque fois que l'on ajoute un bit.
Comme pour un bit, le nombre d'états est égal à 2, il est égal à 2× 2 = 2 2 pour 2 bits, à 22×2 = 23 pour 3 bits, à 23×2 = 24 pour 4 bits, ... Et de façon générique, on a deux 2n états possibles sur une longueur de n bits.
Nous verrons dans ce cours le codage RGB des couleurs.
Il consiste en une composante de rouge (R : red)) codée sur un octet, une composante de vert (G : green) codée sur un octet et enfin une composante de bleu (B : blue) codée sur un octet.
Combien de couleurs peut-on ainsi coder ?
La composante R peut prendre 28 valeurs différentes.
La composante G peut prendre 28 valeurs différentes.
A chaque valeur de la composante R, on peut associer n'importe quelle valeur de la composante G. Cela fait donc déjà 28 × 28 valeurs possibles.
La composante B peut prendre 28 valeurs différentes.
On peut compléter chacune des 28 × 28 valeurs (R,G) par n'importe quelle valeur de la composante B. Cela fait donc 28 × 28 × 28 = 16 777 216 valeurs possibles.
On peut plus brièvement remarquer que le codage se fait sur une longueur de 3×8=24 bits.
D'après l'exercice précédent, on peut donc coder 224 couleurs. On retrouve bien entendu nos plus de 16 millions de couleurs obtenues par le décompte précédent.
Pour le routage de l'information sur les réseaux suivant le protocole IP, les machines sont adressées en IP v4 ou en IP v6.
Avec 32 bits, on peut coder 232 = 4 294 967 296 (un peu plus de 4 milliards) adresses distinctes (en fait certains codes sont réservés à des rôles particuliers, mais cela ne fera pas vraiment de différence pour cet exercice)
Avec 128 bits, on peut coder 2128 adresses (soit plus de 3 * 1038 adresses).
Avec un milliard d'adresses par seconde, on épuiserait le potentiel de l' IPv4 en moins de 5 secondes.
Avec l'IPv6, il nous faut \( \frac{2^{128}}{10^9} \text{secondes} = \frac{2^{128}}{10^9 \times 3600 \times 24 \times 365} \text{années} \) soit plus de 1022 années. A titre de comparaison, l'âge de l'univers est estimé à environ 15.10 9 années. Il faudrait donc 700 milliards de fois l'âge de l'univers pour épuiser le potentiel de l'adressage IPv6 sous ces conditions !
Pour comprendre ce qu'est le routage IP, vous pouvez lire cette page.
128 Gio = 128 × 230 octets ≈ 137,5 × 109 octets. Environ 137,5 Go.
100 Go = 100 × 109 octets ≈ 93,13 × 230, soit environ 93,13 Gio.
Le nombre utilisé en Go est toujours supérieur puisque 1 Go est inférieur à 1 Gio.
46 904 725 504 octets correspondent évidemment à 46,9 Go (en arrondissant) et non à 43,6 Go.
Par contre 46 904 725 504 octets est approximativement égal à 43,68× 230 octets.
Microsoft confond donc les Go et les Gio. L'espace utilisé est de 43,68 Gio.
A titre de comparaison, ci-dessous ce qu'affiche linux pour une clef usb de 4 Go et ce qu'affiche windows.
.
Les indications en octets sont corrects (heureusement) pour windows. Mais il est plus naturel de lire les indications en Go : la signification de nombres courts est en effet plus facile à appréhender. Un utilisateur peut donc être facilement trompé par la lecture de l'indication windows, tandis qu'elle est correcte sous linux.
Une discussion sur un forum liée à ce problème ici.
Une chanson de 4 minutes environ est stockée sur environ 4 Mo en mp3.
Combien de telles chansons peut-on stocker sur un disque dur de 1 To ?
A quelle durée cela correspond-il ?
1 To = 1012 octets.
4 Mo = 4 × 106 octets.
\( \frac{10^{12}}{4 \times 10^6} = 0.25 \times 10^6 = 25 \times 10^4\)
On peut donc stocker environ 250 000 chansons de ce type sur le disque de 1 To.
\( 250000 \times 4 = 1 000 000 \) , un million de minutes.
\( \frac{1000000}{60*24} \approx 694 \) , environ 694 jours.
Pas loin de deux années de musique !
Avec LibrOffice, j'ai obtenu un poids de 8225 octets. Avec un fichier txt, un poids de 9 octets.
Un fichier 900 fois plus lourd avec le traitement de texte !!
Dans cet article datant de 2012, la quantité de données enregistrées par facebook en un jour est estimée à 500 To.
En un an, combien de Po Facebook a-t-il enregistré ?
1 Po = 1015 octets.
500 To = 500 × 1012 octets.
En un an, le nombre d'octets enregistrés est : 500 × 1012 × 365.
Soit 1825 × 1014 octets ou encore 182.5 × 1015 octets.
Plus de 182 Po de données en 2012...