Octet

De la Wikipedia, enciclopedia liberă
Salt la: Navigare, căutare

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 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[modificare | modificare sursă]

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
\sum_{n=0}^7 b_n\cdot2^n

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[modificare | modificare sursă]

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

kB sau ko kilobait sau kilooctet 103 baiți 1 000 baiți
MB sau Mo megabait sau megaoctet 106 baiți 1 000 000 baiți
GB sau Go gigabait sau gigaoctet 109 baiți 1 000 000 000 baiți
TB sau To terabait sau teraoctet 1012 baiți 1 000 000 000 000 baiți
PB sau Po petabait sau petaoctet 1015 baiți 1 000 000 000 000 000 baiți
EB sau Eo exabait sau exaoctet 1018 baiți 1 000 000 000 000 000 000 baiți
ZB sau Zo zettabait sau zettaoctet 1021 baiți 1 000 000 000 000 000 000 000 baiți
YB sau Yo yottabait sau yottaoctet 1024 baiți 1 000 000 000 000 000 000 000 000 baiți

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 Kio kibibait sau kibioctet 210 baiți 1 024 baiți
MiB sau Mio mebibait sau mebioctet 220 baiți 1 048 576 baiți
GiB sau Gio gibibait sau gibioctet 230 baiți 1 073 741 824 baiți
TiB sau Tio tebibait sau tebioctet 240 baiți 1 099 511 627 776 baiți
PiB sau Pio pebibait sau pebioctet 250 baiți 1 125 899 906 842 624 baiți
EiB sau Eio exbibait sau exbioctet 260 baiți 1 152 921 504 606 846 976 baiți
ZiB sau Zio zebibait sau zebioctet 270 baiți 1 180 591 620 717 411 303 424 baiți
YiB sau Yio yobibait sau yobioctet 280 baiți 1 208 925 819 614 629 174 706 176 baiți

Referințe[modificare | modificare sursă]

  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 (1962), „6, Character Set”, in Buchholz, Werner (PDF), Planning a Computer System – Project Stretch, http://archive.computerhistory.org/resources/text/IBM/Stretch/pdfs/Buchholz_102636426.pdf .
  5. ^ Bemer, RW (1959), „A proposal for a generalized card code of 256 characters”, Communications of the ACM 2 (9): 19–23 .
  6. ^ a b BIPM - SI prefixes
  7. ^ Rick Simpson (21 octombrie 2005). „Prefixes for binary multiples. http://cnx.org/content/m13081/latest/. Accesat la 15 august 2008. 
  8. ^ Brian Granger (7 august 2005). „I've Got a Bigger Gigabyte Than You („Am un gigabait mai mare decât tine”). http://www.icpug.org.uk/national/features/050807fe.htm. Accesat la 15 august 2008. 

Vezi și[modificare | modificare sursă]

Legături externe[modificare | modificare sursă]