This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
laboratoare:laborator-01 [2015/10/13 21:27] ionel.ghita [Exerciții] |
laboratoare:laborator-01 [2015/10/13 21:57] ionel.ghita [Ordinea de reprezentare a numerelor mai mari de un octet (Little-Endian vs Big-Endian)] |
||
---|---|---|---|
Line 135: | Line 135: | ||
| Big-Endian | 0x4a | 0x91 | 0x24 | 0x80 | | | Big-Endian | 0x4a | 0x91 | 0x24 | 0x80 | | ||
+ | |||
+ | ===Avantaje Little-Endian=== | ||
+ | |||
+ | **1.** Valorile mici (pe un octet) sunt stocate mereu la aceeași adresă, indiferent de dimensiunea tipului de date folosit.\\ | ||
+ | **Exemplu**: Dorim stocarea valorii 0x49 la adresa 0x2000 cu tipurile char, short și int: | ||
+ | |||
+ | ^ Tip de date ^ 0x2000 ^ 0x2001 ^ 0x2002 ^ 0x2003 ^ | ||
+ | | char | 0x49 | - | - | - | | ||
+ | | short | 0x49 | 0x00 | - | - | | ||
+ | | int | 0x49 | 0x00 | 0x00 | 0x00 | | ||
+ | |||
+ | **2.** Oferă ușurință în efectuarea operațiilor aritmetice. Majoritatea operațiilor se efectuează începând cu cel mai puțin semnificativ octet, iar acesta este stocat primul în cadrul acestui mod de reprezentare, deci putem efectua operațiile pe mai mulți octeți parcurgând operanzii de la adresa cea mai mică adresă la cea mai mare. | ||
+ | |||
+ | ===Avantaje Big-Endian=== | ||
+ | **1.** Valorile nu necesită transformări în momentul în care se transmit pe rețea. Pentru a se putea realiza comunicația între două calculatoare care folosesc metode diferite de reprezentare, toate valorile transmise sunt reprezentate în formatul **Network byte order**, care este echivalent cu Big-Endian. | ||
+ | |||
+ | **2.** Valorile pe mai mulți octeți sunt mai ușor de citit în momentul examinării unei zone de memorie. | ||
===== Operații cu valori reprezentate în binar ===== | ===== Operații cu valori reprezentate în binar ===== |