5.1.11 · HinglishInstruction Set Architecture (ISA)

Endianness (big vs little)

1,601 words7 min readRead in English

5.1.11 · Hardware › Instruction Set Architecture (ISA)


Endianness KYA hai?

Yeh word Gulliver's Travels se aaya hai (ek ubale ande ka kaunsa end todna chahiye). Yeh ek convention hai, correctness ka sawaal nahi — dono theek kaam karte hain, bas agree karna zaroori hai.


Yeh exist KYO karta hai?


Bytes ko memory mein kaise rakhein (derive karo)

Lo yeh 32-bit hex value:

Bytes mein split karo (har 2 hex digits = 8 bits):

Byte Value Significance
MSB 0x12 highest ()
0x34
0x56
LSB 0x78 lowest ()

Reconstruction formula (yahi reason hai ki significance matter karta hai):

Ab address se store karo:

Big-endian (MSB lowest address par):

A+0: 12   A+1: 34   A+2: 56   A+3: 78

Little-endian (LSB lowest address par):

A+0: 78   A+1: 56   A+2: 34   A+3: 12
Figure — Endianness (big vs little)

Worked examples


Common mistakes


Endianness detect karna (classic trick)


Flashcards

Endianness kya determine karta hai?
Woh order jisme ek multi-byte value ke bytes consecutive memory addresses par store hote hain.
Big-endian mein lowest address par kaunsa byte hota hai?
Most significant byte (MSB).
Little-endian mein lowest address par kaunsa byte hota hai?
Least significant byte (LSB).
0x12345678 ko addr A se little-endian store karo.
A+0:78, A+1:56, A+2:34, A+3:12.
0x12345678 ko addr A se big-endian store karo.
A+0:12, A+1:34, A+2:56, A+3:78.
Kya endianness ek byte ke andar bits reverse karta hai?
Nahi — sirf poore bytes ki ordering; ek byte ke andar bits unchanged rehte hain.
"Network byte order" kya hai?
Big-endian, jo TCP/IP mein multi-byte fields transmit karne ka standard hai.
x86 CPUs kaunsi endianness use karte hain?
Little-endian.
Value V ke k-th byte (k=0 LSB hai) ka formula.
b_k = floor(V / 256^k) mod 256.
Offset i par byte, big-endian, N-byte value?
mem[i] = b_{N-1-i}.
Quick runtime test: int 1 store karo, lowest address par byte padho; result 1 matlab?
Little-endian.
Kya char[] string endianness se affect hoti hai?
Nahi — array elements apna order rakhte hain; sirf multi-byte scalars endianness se split hote hain.

Recall Feynman: 12-saal ke bacche ko explain karo

Socho ek bada number hai jo ek mailbox mein fit nahi hota, toh tum usse chunks mein split karte ho aur har chunk ko mailboxes ki ek row mein rakhte ho. Big-endian sabse bade chunk ko pehle mailbox mein rakhta hai (jaise number normally likhte hain, left se right). Little-endian sabse chhote chunk ko pehle rakhta hai. Tum jo number wapas paate ho woh dono taraf se same hota hai — bas tumhe pata hona chahiye ki kaunse ghar ka rule follow ho raha hai, warna number scrambled padh loge. Bas itna hai: same number, mailboxes mein different chunk-order.


Connections

  • Instruction Set Architecture (ISA) — endianness ek ISA design choice hai jo CPU commit karta hai.
  • Memory Addressing — byte-addressable memory aur address ordering par depend karta hai.
  • Data Representation — is par build hota hai ki integers bytes se kaise map hote hain ().
  • Network Protocols — "network byte order" big-endian hai; htonl/ntohl conversions ki zaroorat padti hai.
  • Pointers and Type Punning — endianness detect karne ke liye union trick use hoti hai.
  • Bitwise Operations — byte extraction shifts/masks use karta hai, endianness khud nahi.

Concept Map

defines order of

laid across

is a

splits into

splits into

puts

puts

derived from

derived from

benefit

benefit

Endianness

Multi-byte value

Byte-addressable memory

Storage convention

Big-endian

Little-endian

MSB at lowest address

LSB at lowest address

Byte formula bk = floor V/256^k mod 256

Matches human digit order

Simpler carry hardware