www.wikidata.uk-ua.nina.az
Cya stattya potrebuye dodatkovih posilan na dzherela dlya polipshennya yiyi perevirnosti Bud laska dopomozhit udoskonaliti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Zvernitsya na storinku obgovorennya za poyasnennyami ta dopomozhit vipraviti nedoliki Material bez dzherel mozhe buti piddano sumnivu ta vilucheno Poryadok bajtiv angl Endianness byte order metod zapisu bajtiv bagatobajtovih chisel v informatici U programuvanni informaciya v pam yati zazvichaj zberigayetsya u dvijkovih danih rozdilena na 8 bit odin bajt Predstavlennya danih u pam yati komp yuteraU zagalnomu vipadku dlya predstavlennya chisla M bilshogo 255 255 2 8 1 displaystyle 255 2 8 1 maksimalne cile chislo sho zapisuyetsya odnim oktetom dovoditsya vikoristovuvati dekilka bajtiv oktetiv Pri comu chisloM zapisuyetsya v pozicijnij sistemi chislennya za osnovoyu 256 M i 0 n A i 256 i A 0 256 0 A 1 256 1 A 2 256 2 A n 256 n displaystyle M sum i 0 n A i cdot 256 i A 0 cdot 256 0 A 1 cdot 256 1 A 2 cdot 256 2 dots A n cdot 256 n Nabir cilih chisel A 0 A n displaystyle A 0 dots A n kozhne z yakih lezhit v intervali vid 0 do 255 ye poslidovnistyu bajtiv skladovih chisla M pri comu A 0 displaystyle A 0 nazivayetsya molodshim bajtom a A n displaystyle A n starshim bajtomchisla M Zmist 1 Pohodzhennya nazvi 2 Varianti zapisu 2 1 Poryadok vid starshogo do molodshogo 2 2 Poryadok vid molodshogo do starshogo 2 3 Zminyuvanij poryadok 2 4 Zmishanij poryadok 2 5 Priklad 2 6 Porivnyannya 3 Problemi sumisnosti 4 Viznachennya poryadku bajtiv 5 Dijsni chisla 6 Yunikod 7 Konvertaciya 8 Primitki 9 PosilannyaPohodzhennya nazvi RedaguvatiV anglijskij movi termini big endian i little endian zapozicheno u Dzhonatana Svifta z jogo satirichnogo tvoru Mandri Gullivera de opisuyutsya derzhavi Liliputiya ta Blefusku sho veli mizh soboyu neskinchenni vijni cherez rozbizhnist iz yakogo kincya slid rozbivati vareni yajcya z gostrogo angl little endian chi z tupogo angl big endian Varianti zapisu RedaguvatiPoryadok vid starshogo do molodshogo Redaguvati nbsp Poryadok vid starshogo do molodshogoPoryadok vid starshogo do molodshogo abo angl big endian doslivno tupokincevij A n A 0 displaystyle A n dots A 0 nbsp Zapis pochinayetsya zi starshogo rozryadu j zakinchuyetsya molodshim Tak zapisuyut chisla na paperi j cej poryadok ye standartnim dlya protokoliv TCP IP vin zastosovuyetsya v zagolovkah paketiv danih i v bagatoh protokolah vishogo rivnya rozroblenih dlya zastosuvannya poverh TCP IP Tomu poryadok bajtiv vid starshogo do molodshogo chasto nazivayut merezhevim poryadkom bajtiv angl network byte order Obrobku chisel iz takim poryadkom bajtiv aparatno realizovano v procesorah IBM 360 370 390 Motorola 68000 SPARC zvidsi tretya nazva poryadok bajtiv Motorola Motorola byte order Poryadok vid molodshogo do starshogo Redaguvati nbsp Poryadok vid molodshogo do starshogoPoryadok vid molodshogo do starshogo abo angl little endian doslivno gostrokincevij A 0 A n displaystyle A 0 dots A n nbsp zapis pochinayetsya z najmolodshogo rozryadu j zakinchuyetsya najstarshim Takij poryadok zapisu prijnyatij u pam yati komp yuteriv z procesorami Intel u yakih jogo bulo aparatno realizovano u zv yazku z chim inodi jogo nazivayut intelivskij poryadok bajtiv za nazvoyu firmi rozrobnika arhitekturi x86 Podekudi napriklad u dokumentaciyi Perl vzhivayetsya nazva VAX order 1 Takij poryadok zastosovuyetsya v USB konfiguraciyi PCI tablicya rozdiliv GUID rekomendaciyah FidoNet odnak malovzhivanij u kros platformnih protokolah i formatah danih Zminyuvanij poryadok Redaguvati Deyaki procesori mozhut pracyuvati i z poryadkom vid molodshogo do starshogo i zi zvorotnim napriklad ARM PowerPC ale ne PowerPC 970 DEC Alpha MIPS PA RISC i IA 64 Zazvichaj poryadok bajtiv vibirayetsya programno pid chas inicializaciyi operacijnoyi sistemi ale mozhe buti vibranij i aparatnimi peremichkami na materinskij plati U comu vipadku pravilnishe govoriti pro poryadok bajtiv operacijnoyi sistemi Zminyuvanij poryadok bajtiv inodi nazivayut angl bi endian Zmishanij poryadok Redaguvati Zmishanij poryadok bajtiv angl middle endian inodi zastosovuyetsya pri roboti z chislami dovzhina yakih perevishuye mashinne slovo U mashinnomu slovi bajti zberigayutsya v poryadku prirodnomu dlya danoyi arhitekturi ale sami slova jdut u zvorotnomu poryadku Klasichnij priklad middle endian predstavlennya 4 bajtnih cilih chisel na 16 bitnih procesorah simejstva PDP 11 vidomij yak PDP endian Dlya predstavlennya dvobajtnih znachen sliv zastosovuvavsya aparatnij poryadok spochatku molodshij bajt potim starshij Ale v podvijnomu 4 bajtnomu slovi zapisuvalosya spochatku starshe slovo a potim molodshe U procesorah VAX i ARM zastosovuyetsya zmishanij poryadok dlya dovgih dijsnih chisel Priklad Redaguvati Dali navedeno priklad v yakomu opisuyetsya rozmishennya 4 bajtovogo chisla v OZP EOM dostup do yakogo mozhe zdijsnyuvatisya i yak do 32 rozryadnogo slova tak i pobajtno Vsi chisla zapisani v 16 kovij sistemi chislennya Chislo 0xA1B2C3D4 Predstavlennya D4 0x01 C3 0x100 B2 0x10000 A1 0x1000000Poryadok vid molodshogo do starshogo little endian 0xD4 0xC3 0xB2 0xA1Poryadok vid starshogo do molodshogo big endian 0xA1 0xB2 0xC3 0xD4Poryadok prijnyatnij v PDP 11 PDP endian 0xB2 0xA1 0xD4 0xC3Porivnyannya Redaguvati nbsp Rozmishennya bajtiv slova v pam yati Big endian ta Little endian mashinIstotnoyu perevagoyu little endian u porivnyanni z big endian vvazhayetsya dzherelo mozhlivist neyavnoyi tipizaciyi cilih chisel pri chitanni menshogo obsyagu bajt za umovi sho prochitane chislo vmishuyetsya v diapazon Tak yaksho v komirci pam yati mistitsya chislo 0x00000022 to prochitavshi odin bajt otrimayemo chislo 0x22 prochitavshi dva bajti int16 chislo 0x0022 i t d Odnak ce zh mozhe vvazhatisya odnochasno nedolikom tomu sho mozhe sprichiniti pomilki vtrati danih Nedolikom little endian u porivnyanni z big endian vvazhayetsya dzherelo neochevidnist znachennya bajtiv pam yati napriklad pri nalagodzhenni poslidovnist bajtiv A1 B2 C3 D4 oznachaye chislo 0xD4C3B2A1 todi yak u big endian cya poslidovnist A1 B2 C3 D4 chitayetsya prirodnim dlya arabskogo zapisu chisel chinom 0xA1B2C3D4 Najmensh zruchnim u roboti vvazhayetsya middle endian format zapisu Vin zberigsya tilki na starih platformah Dlya zapisu dovgih chisel chisel dovzhina yakih istotno perevishuye rozryadnist mashini zazvichaj perevazhaye poryadok sliv little endian oskilki bilshist arifmetichnih operacij nad dovgimi chislami zdijsnyuyutsya vid molodshih rozryadiv do starshih Poryadok bajtiv v slovi zvichajnij dlya takoyi arhitekturi Problemi sumisnosti RedaguvatiZapis bagatobajtovogo chisla z pam yati komp yutera v fajl abo peredacha po merezhi potrebuye dotrimannya vidpovidnostej pro te yakij z bajtiv ye starshim a yakij molodshim Pryamij zapis komirok pam yati prizvodit do mozhlivih problem pri perenesenni dodatku z platformi na platformu Viznachennya poryadku bajtiv RedaguvatiPoryadok bajtiv v konkretnij mashini mozhna viznachiti za dopomogoyu programi na movi Si testendian c include lt stdio h gt unsigned short x 1 0x0001 int main void printf s n unsigned char amp x 0 big endian little endian return 0 Vivid danoyi programi maye sens tilki na platformah de rozmir tipu unsigned short bilshij nizh rozmir tipu unsigned char Ce pravilno na perevazhnij bilshosti komp yuteriv oskilki voni mayut 8 rozryadnij bajt Odnak isnuyut i aparatni platformi v yakih rozmir bajta rivnij rozmiru slova abo v terminah movi C sizeof char sizeof int Napriklad v superkomp yuterah Cray Rezultati zapusku na big endian mashini SPARC uname m sparc64 gcc o testendian testendian c testendian big endian Rezultati zapusku na little endian mashini x86 uname m i386 gcc o testendian testendian c testendian little endianDijsni chisla RedaguvatiZberigannya dijsnih chisel mozhe zalezhati vid poryadku bajt tak na x86 vikoristovuyutsya formati IEEE 754 zi znakom i poryadkom chisla v starshih bajtah Yunikod RedaguvatiYaksho Yunikod zapisanij u viglyadi UTF 16 abo UTF 32 to poryadok bajtiv ye suttyevim Odnim iz sposobiv poznachennya poryadku bajtiv v yunikodovih tekstah ye vstanovlennya na pochatku specialnogo simvolu BOM byte order mark marker poslidovnosti bajtiv U FEFF perevernutij variant cogo simvolu U FFFE ne isnuye i ne dopuskayetsya v tekstah Simvol U FEFF zobrazhuyetsya v UTF 16 poslidovnistyu bajtiv 0xFE 0xFF big endian abo 0xFF 0xFE little endian a v UTF 32 poslidovnistyu 0x00 0x00 0xFE 0xFF big endian abo 0xFF 0xFE 0x00 0x00 little endian Konvertaciya RedaguvatiDlya peretvorennya mizh merezhnim poryadkom bajtiv angl network byte order yakij zavzhdi u formati big endian i poryadkom bajtiv sho vikoristovuyetsya na mashini angl host byte order standart POSIX peredbachaye funkciyi htonl htons ntohl ntohs uint32 t htonl uint32 t hostlong konvertuye 32 bitnu bezznakovu velichinu z lokalnogo poryadku bajtiv v merezhevij uint16 t htons uint16 t hostshort konvertuye 16 bitnu bezznakovu velichinu z lokalnogo poryadku bajtiv v merezhevij uint32 t ntohl uint32 t netlong konvertuye 32 bitnu bezznakovu velichinu z merezhevogo poryadku bajtiv v lokalnij uint16 t ntohs uint16 t netshort konvertuye 16 bitnu bezznakovu velichinu z merezhevogo poryadku bajtiv v lokalnij U razi zbigu potochnogo poryadku bajtiv i merezhevogo funkciyi mozhut buti porozhnimi tobto ne zminyuvati poryadku bajtiv Standart takozh dopuskaye shob ci funkciyi buli realizovani makrosami Isnuye bagato mov i bibliotek iz zasobami konvertaciyi v obidva osnovni poryadku bajt i navpaki Yadro Linux le16 to cpu cpu to be32 cpu to le16p i tak dali Yadro FreeBSD htobe16 le32toh i tak dali Erlang lt lt Count 32 big unsigned integer Average 64 big float gt gt Chunk Message lt lt Length 32 little unsigned integer MType 16 little unsigned integer MessageBody gt gt Python import struct Count Average struct unpack gt Ld Chunk Message struct pack lt LH Length MType MessageBody Perl Count Average unpack L gt d gt Chunk Message pack LS lt Length MType MessageBody abo te zh same Message pack Vv Length MType MessageBody dani prikladi dlya Erlang Python Perl mistyat identichnu funkcionalnist Primitki Redaguvati pack v PerlPosilannya Redaguvatihttp encyclopedia2 thefreedictionary com byte order Otrimano z https uk wikipedia org w index php title Poryadok bajtiv amp oldid 40542274 Poryadok vid molodshogo do starshogo