Pentru Byte - l

Ordinea de la cei mai tineri la cel mai vechi

Ordinea de la cei mai tineri la cea mai veche sau „țepos“ (.. engleză little-endian despre originea termenului de mai jos), înregistrarea începe cu Bush și se termină cu cea mai mare. Această procedură este adoptată în memoria de înregistrare a PC-uri, cu scopul de octet Intel (sub numele de creatorul arhitecturii x86 compania).

Ordinea de la cea mai veche la cea mai tânără

Ordinea de la cel mai vechi la cel mai mic, sau „contondent“ (în engleză big-endian.) :, Înregistrarea începe la cel mai mare, și se termină cu cel mai mic. Această procedură este un standard de protocoale TCP / IP. este utilizat în antetele pachetelor de date în multe protocoale de nivel superior concepute pentru a fi utilizate prin TCP / IP. Prin urmare, ordinea de octet de la vârstă la mai tineri de multe ori numit comanda octet de rețea (ordine octet Eng. Rețea). Această ordonare octet folosit IBM 360/370/390 procesoare, Motorola 68000. endianness Motorola. Motorola comanda octet).

În aceeași formă (dar cu baza factorizare 10) Numerele sunt înregistrate numerale indo-arabe.

comandă Byte big-endian folosit în mai multe formate de fișiere - de exemplu, PNG.

Pentru comutabil

Multe procesoare pot funcționa în ordine, de la cei mai tineri la cel mai vechi, și în sens invers, de exemplu, PowerPC (dar nu PowerPC 970), DEC Alpha din. MIPS. IA-64. În general, ordinea de octeți selectate de software-ul în timpul inițializării sistemului de operare. dar poate fi selectat, și un jumper hardware de pe placa de bază. În acest caz, corect să vorbim despre ordinea octeților sistemului de operare. comanda octet selectabil este uneori numit limba engleză. bi-endian.

ordine mixtă

comandă octet mixt (Engl. Middle-endian) este uneori utilizat atunci când se lucrează cu numere întregi mai mult decât un cuvânt mașină. Factorizate numărul de cuvinte de mașini, care sunt scrise într-un format care este natural pentru această arhitectură, dar cuvintele sunt scrise în ordine inversă.

Un exemplu clasic de mijloc-endian - reprezentare 4-octet de numere întregi într-o familie de procesor pe 16 biți

În ARM procesoare folosesc o performanță mixtă pentru numere reale lungi.

În continuare, un exemplu în care aranjamentul descris numerele 4-byte în memoria calculatorului la care accesul se poate face ca la cuvântul pe 32 de biți sau octet.

Toate numerele înregistrate în notația 16-hexazecimal.

Pentru Byte - l

Plasarea octet de memorie cuvânt calculatoare Big-endian și Little-endian

Un avantaj important al little-endian, comparativ cu ordinea de intrare big-endian a considerat posibilitatea de a „dactilografiere implicite“ numere întregi de volum mai mic atunci când citesc octeți (cu condiția ca numărul este plasat în intervalul populare). Astfel, în celula de memorie conține numărul 0x00000022, apoi citit ca o int16 (doi octeți), obținem 0x0022 număr, după ce a citit un singur octet - numărul 0x22.

In schimb, se crede că micul-endian, în comparație cu big-endian este "neevidența" memorie valoare pentru depanare octeți (secvență octet (33, 44, 55, 12) înseamnă într-adevăr 0x12554433, pentru big-endian, această secvență (33 , 44, 55, 12) va fi "natural" pentru modul arab de numere de scris: 0x33445512). Cel mai puțin convenabil de a folosi este considerat de înregistrare în format endian-mijloc; el a supraviețuit numai pe platforme mai vechi.

Pentru a înregistra numere lungi (numere, lungimea care depășește substanțial capacitatea mașinii), este preferat de obicei, în alte cuvinte, inclusiv little-endian (din operații aritmetice cu numere lungi sunt produse prin ordin scăzut la ridicat). Endianness - normal pentru o anumită arhitectură.

Probleme de compatibilitate

Înregistrați numărul multibyte de memorie de computer într-un fișier sau transmis prin rețea prevede ca acordurile de conformitate, care octeților este un senior și un junior. Celulele de memorie înregistrare directă conduce la posibile probleme atunci când portare de la platforma de la platforma.

Determinarea endian

Ordinea de octeți într-o anumită mașină poate fi determinată de către program în limbajul C (testendian.c):

Concluzia acestui program este semnificativ numai pe platforme în cazul în care dimensiunea de tip unsigned scurt, mai mult decât dimensiunea de tip unsigned char. Acest lucru este evident adevărat, în marea majoritate a calculatoarelor, deoarece acestea sunt octeti de 8 biti. Cu toate acestea, există platforme hardware cu 32 de biți octet.

Rezultate rula pe masina big-endian (

Rezultate rula pe masina little-endian (

transformare

Pentru a converti între ordinea octet de rețea (ordinea octet Engl. Network), care este întotdeauna mare-endian, iar ordinea de octet utilizat pe (Engl. Host comanda byte), htonl () standard de mașină. htons (). ntohl (). ntohs ():

  • uint32_t htonl (hostlong uint32_t); - convertește endianness rețelei de curent într-o valoare fără semn pe 32 de biți;
  • uint16_t htons (hostshort uint16_t); - convertește endianness rețelei de curent într-o valoare fără semn de 16 biți;
  • uint32_t ntohl (uint32_t netlong); - convertește endianness rețelei în 32 de biți fără semn valoarea curentă;
  • ntohs uint16_t (uint16_t netshort); - convertește endianness rețelei în 16-biți fără semn valoarea curentă.

În cazul în care ordinea octet curent și a rețelei, funcțiile pot fi „goale“ (adică, nu pentru a schimba ordinea de bytes). Standardul permite, de asemenea, pentru aceste funcții au fost puse în aplicare macro-uri.

fapte interesante

  • Termenii big-endian si little-endian a avut inițial nici o legătură cu știință. În lucrările satirice ale lui Jonathan Swift „Călătoriile lui Gulliver“, descrie starea fictiv Lilliput și Blefuscu, timp de mai mulți ani, ceea ce duce la un alt război de peste un dezacord cu privire la sfârșitul care ar trebui să fie rupt ouă fierte. Cei care cred că au nevoie să se rupă cu capătul bont, într-o lucrare numită «Big endians» ( «big-endian"). Litigiile dintre susținătorii big-endian si little-endian în informatică au adesea caracterul de „războaie religioase“.

Vezi ce „ordinea octet“ în alte dicționare:

octet de comanda - Acest termen se referă la ordinea de octeți de stocare în cuvântul mașinii (sau dublu cuvânt). Procedura poate fi „directă“ (de exemplu, numărul de 32 de biți este stocat ca 0x12345678), iar apoi spun „endianness mare“ (în jargonul intern ... ... Traducator tehnic

ordinea transferului - informațiile din toate diagramele din această recomandare este în primul rând de la stânga la dreapta și apoi de sus în jos. În cadrul fiecărui octet de cel mai semnificativ octet este transmis mai întâi. În toate diagramele octetul cel mai semnificativ este afișat în partea stângă. (ITU T G.7041 / Y.1303). ... ... Manual Tehnic traducator

comandă Octet - ordinea metodei octeti octeti de înregistrare numere de mai mulți octeți în informatică. În general, pentru a reprezenta numărul de M, mai mult de 255 (aici, un număr întreg maxim pentru a scrie un octet), trebuie să folosim câteva octeți ... ... Wikipedia

Aur Bytes - IT de tip Cupa Fondatorii Computer Academia "STEP" Locația ... Wikipedia

endian - Metoda de stocarea și schimbul de date într-o rețea, în care este transmis primul octet cel mai semnificativ, iar apoi rămânând în ordinea inversă a plasării lor în blocul de date. [LM Nevdyaev. Tehnologii de telecomunicatii. Română Englez ... ... Traducator tehnic

endian - Metoda de stocarea și schimbul de date într-o rețea, în care este transmis primul octet cel mai semnificativ, iar apoi rămânând în ordinea în care apar în blocul de date. Miercuri puțin. [LM Nevdyaev. Tehnologii de telecomunicatii. Română Englez ... ... Traducator tehnic

Zettaoctet File System - ZFS (zettabyte File System) sistem de fișiere, dezvoltat inițial de Sun Microsystems pentru sistemul de operare Solaris. Acest sistem de fișiere suportă volume mari de date, integrează conceptul de sistem de fișiere și gestionarea logică ... ... Wikipedia

Sun ZFS - ZFS (zettabyte File System) sistem de fișiere, dezvoltat inițial de Sun Microsystems pentru sistemul de operare Solaris. Acest sistem de fișiere suportă volume mari de date, combină conceptul unui sistem de fișiere și Disk Manager Logic ... ... Wikipedia