Octet

De la Wikipedia, enciclopedia liberă

(Redirecţionat de la Bait)
Salt la: Navigare, căutare

Un octet, prescurtat "O" (litera majusculă, nu cifra zero), este cea mai uzuală măsură a cantităţii de date în sistemele informatice actuale. Un octet este format din 8 biţi de date şi poate stoca numerele naturale dintre 0 şi 255.

Terminologia engleză foloseşte în mod curent cuvântul byte (abreviat B, cu majusculă), care se citşte aproximativ "bait" (cu o singură silabă) pentru a desemna cea mai mică unitate de informaţie adresabilă de către un calculator. Un bait nu este întotdeauna egal cu un octet, întrucât au existat arhitecturi de calcul în care un bait avea 5, 6, 7 sau chiar 36 de biţi. Aceste arhitecturi sunt însă depăşite şi au intrat în domeniul istoricului, astfel încât astăzi cei doi termeni "octet" şi "bait" sunt identici, fiind alcătuiţi din câte 8 biţi.

Cuprins

[modifică] 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
\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.

[modifică] Multipli

În Sistemul international de unităţi (SI) se folosesc ca valori puterile lui 10 [1]:

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

În binar se folosesc alte unităţi, construite pe baza puterilor lui 2[1]:

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

[modifică] Notă

În general cele două tabele cu valorile lor sunt confundate foarte des! Astfel, la cele mai multe computere datele sunt indicate de obicei cu unitatea "kB" (sau "MB" sau "GB"), când de fapt este vorba de KiB (sau MiB sau GiB). De exemplu, în sistemul de operare Microsoft Windows 8.192 octeţi se desemnează (în mod greşit) drept 8 kB. În acest caz indicarea corectă ar fi 8 KiB (8 kB fiind numai 8.000 octeţi sau baiţi).

[modifică] Referinţe

  1. ^ a b http://www.bipm.org/en/si/si_brochure/chapter3/prefixes.html

[modifică] Vezi şi

[modifică] Legături externe

Diferenţiere clară între KB şi KiB (în engleză)

Unelte personale