Octet

Un octet, cu simbolul „o” (literă mică, pentru a nu fi confundat cu cifra zero)[1], este o unitate de măsură a informației echivalentă cu 8 biți de date, putând stoca, la orice moment, una dintr-un total de 256 de valori. În prezent termenul este de cele mai multe ori folosit ca sinonim pentru bait[2], în engleză byte, termen ce desemnează cea mai mică unitate de informație adresabilă de către un calculator, fiindcă imensa majoritate a arhitecturilor de calculatoare aflate în prezent în producție prevede adresarea baitului (octetului).[3]

Un bait nu a fost însă întotdeauna egal cu un octet, el fiind definit la început ca numărul de biți necesar reprezentării unui caracter. Au existat arhitecturi de calcul în care un bait avea 4 (nibble), 5, 6, 7 sau chiar 9 biți, de aceea termenul octet este preferat atunci când este posibilă apariția unei confuzii cu privire la numărul de biți.[4][5]

Detalii

10110110 în baza 2 (binar) = B6 în baza 16 (hexazecimal) = 182 în baza 10 (zecimal)

Exemplu de octet în cele trei baze de numerotație uzuale

Dacă reprezentăm cei opt biți ca un șir orizontal de opt căsuțe, cel mai din stânga bit se numește "cel mai semnificativ", iar cel mai din dreapta, "cel mai puțin semnificativ". Dacă numerotăm biții cu cifre n între 0 și 7 începând de la cel mai puțin semnificativ (de la dreapta la stânga) și notăm valorile biților respectivi (0 sau 1) cu bn, atunci valoarea octetului este

Doi octeți puși unul lângă altul ca un tot comun (16 biți) pot reține valori între 0 și 65535, și se numesc în mod uzual în limbajul informatic "un cuvânt". Patru octeți (32 de biți) se numesc "cuvânt dublu".

Cum un număr arbitrar de n biți poate stoca valori între 0 și 2n-1, o jumătate de octet (4 biți) poate stoca valori între 0 și 24-1=15. Numerele de la 0 la 15 reprezintă o cifră unică în sistem hexazecimal (numere în baza 16). Astfel, un octet poate fi reprezentat în mod unic, complet și biunivoc de un număr format din două cifre hexazecimale - prima cifră reprezentând jumătatea mai reprezentativă a octetului. Acest sistem de numerotație este atât de comod în acest context încât sistemul de numerotație hexazecimal a luat amploare și este folosit în mod curent în medii informatice.

O convenție alternativă de interpretare a informației dintr-un octet este ca cel mai semnificativ bit să se considere ca fiind "bit de semn". În acest fel se pot reprezenta numerele întregi dintre -128 și 127, luându-se în considerare numai biții 0...6 pentru valoare și bitul 7 pentru semn. În acest caz, dacă cel mai semnificativ bit este nul, se ia valoarea ca atare (0..127), iar dacă este nenul, se ia valoarea negativă a complementului binar: toți biții octetului sunt negați, se adaugă 1 la rezultat și valoarea pozitivă rezultată se înmulțește cu -1 (dacă nu s-ar adăuga 1 la valoarea negată binar a octetului, octetul 11111111 negat ar fi 00000000, care chiar înmulțit cu -1 ar dubla inutil valoarea octetului nul). Complementarea unui octet (negarea binară și adăugarea unității) poate fi calculată și ca scăderea valorii octetului din 256. În exemplul din imagine, dacă octetul respectiv este interpretat în acest fel, valoarea lui ar fi -1*((~101101102)+1) = -1*(010010012+1) = -1*(10016-B616) = -1*(256-182)=-74.

Multipli

La propunerea IEC, IEEE a adoptat standardul IEEE 1541, prin care recomandă folosirea prefixelor din Sistemul internațional de unități (SI) pentru multiplii și submultiplii octetului.[6]:

kB sau kokilobait sau kilooctet103 bytes 1 000 bytes
MB sau Momegabait sau megaoctet106 bytes 1 000 000 bytes
GB sau Gogigabait sau gigaoctet109 bytes 1 000 000 000 bytes
TB sau Toterabait sau teraoctet1012 bytes 1 000 000 000 000 bytes
PB sau Popetabait sau petaoctet1015 bytes 1 000 000 000 000 000 bytes
EB sau Eoexabait sau exaoctet1018 bytes 1 000 000 000 000 000 000 bytes
ZB sau Zozettabait sau zettaoctet1021 bytes 1 000 000 000 000 000 000 000 bytes
YB sau Yoyottabait sau yottaoctet1024 bytes 1 000 000 000 000 000 000 000 000 bytes

Standardul recomandă folosirea altor prefixe pentru multiplii construiți pe baza puterilor lui 2, după cum se arată în tabelul de mai jos.[6] Adopția standardului IEEE 1541 este însă extrem de restrânsă, foarte mulți specialiști continuând să folosească doar prefixele din SI pentru multiplii construiți cu puterile lui 2, ignorând complet multiplii zecimali.[7][8]

KiB sau Kiokibibait sau kibioctet210 bytes 1 024 bytes
MiB sau Miomebibait sau mebioctet220 bytes 1 048 576 bytes
GiB sau Giogibibait sau gibioctet230 bytes 1 073 741 824 bytes
TiB sau Tiotebibait sau tebioctet240 bytesi 1 099 511 627 776 bytes
PiB sau Piopebibait sau pebioctet250 bytes 1 125 899 906 842 624 bytes
EiB sau Eioexbibait sau exbioctet260 bytes 1 152 921 504 606 846 976 bytes
ZiB sau Ziozebibait sau zebioctet270 bytes 1 180 591 620 717 411 303 424 bytes
YiB sau Yioyobibait sau yobioctet280 bytes 1 208 925 819 614 629 174 706 176 bytes

Referințe

  1. Standardul ISO 80000-13:2008 (Cantități și unități, Partea 13 - Știința și tehnologia informației)
  2. bait la DEX online
  3. Deși standardul ISO 80000-13:2008 precizează că în cadrul său byte este sinonim cu octet, tot acolo se precizează și faptul că nu întotdeauna acesta este înțelesul termenului. De asemenea, alte standarde, ca de exemplu ISO/IEC 9899:1999 (standardul limbajului C) precizează că numărul de biți din byte depinde de implementare.
  4. Bemer, RW; Buchholz, Werner (), „6, Character Set”, În Buchholz, Werner, Planning a Computer System – Project Stretch (PDF).
  5. Bemer, RW (), „A proposal for a generalized card code of 256 characters”, Communications of the ACM, 2 (9): 19–23.
  6. BIPM - SI prefixes
  7. Rick Simpson (). „Prefixes for binary multiples”. Accesat în .
  8. Brian Granger (7 august 2005). „I've Got a Bigger Gigabyte Than You („Am un gigabait mai mare decât tine")”. Accesat în 15 august 2008. Verificați datele pentru: |date= (ajutor)

Vezi și

Legături externe

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.