5.1.11 · D1 · HinglishInstruction Set Architecture (ISA)

FoundationsEndianness (big vs little)

3,221 words15 min read↑ Read in English

5.1.11 · D1 · Hardware › Instruction Set Architecture (ISA) › Endianness (big vs little)

Isse pehle ki tum "big-endian ya little-endian?" poochho, tumhe kuch ideas mein already fluent hona chahiye jinhe parent note quietly assume karta hai: ki ek bit kya hota hai, ek byte kya hota hai, ek address kya hota hai, significance ka matlab kya hai, aur woh darawna-sa actually kya count karta hai. Yeh page inhe sab ko ek ek karke, kuch bhi nahi se, ek dusre ke upar build karta hai.


1. Bit — sabse chhota yes/no

Bit ki zaroorat isliye hai kyunki yeh sabhi digital storage ka atom hai. Upar ki sab cheezein — bytes, numbers, addresses — sirf ek group of bits hain jinka ek agreed meaning hai.

Figure 1 mein do switches side by side dikhaye gaye hain: teal wala neeche (value , off) aur orange wala upar (value , on). Ise ek bit ki visual definition ki tarah padho — sirf do states exist karti hain, beech mein kuch nahi.

Figure — Endianness (big vs little)
Figure 1 — Ek bit ek switch hai: neeche = 0 (off), upar = 1 (on). Koi teesra option nahi.


2. Byte — aath bits ek saath pack kiye hue

kyun? Har 8 bits mein se har ek bit patterns ki sankhya ko double karta hai: (aath baar) . Neeche 8 switches ki strip dekho — har distinct arrangement ek value hai.

Byte isliye matter karta hai kyunki yeh sabse chhota chunk hai jo memory actually deta hai. Tum memory se kabhi ek single bit fetch nahi karte; tum poore bytes fetch karte ho. Yahi wajah hai ki endianness exist karta hai — ek bada number bytes mein split karna padta hai, bits mein nahi.

Figure 2 mein ek byte ko 8 colored switches ki row ki tarah draw kiya gaya hai jo pattern 00010010 pe set hai. Orange switches hain, teal hain; har ek ke neeche uska bit number dikh raha hai ( far left par down to far right par, aboove define ki gayi numbering se match karta hai). Woh exact pattern woh value hai jise hum 0x12 ke roop mein phir milenge. Figure use karo dekho ki "ek byte = eight ordered on/off cells" ka matlab kya hai.

Figure — Endianness (big vs little)
Figure 2 — Ek byte = 8 ordered bits, numbered 7 (sabse left, worth 2⁷) down to 0 (sabse right, worth 2⁰). Pattern 00010010 yahan value 0x12 (decimal 18) hai.


3. Hexadecimal — bytes bina dard ke likhna

Do hex digits ek byte ke barabar kyun hote hain? Kyunki — exactly ek byte mein patterns ki sankhya. Ek hex digit ek nibble cover karta hai ( bits), toh do hex digits dono nibbles cover karte hain ( bits).

Hex ki zaroorat isliye hai kyunki parent note 0x12345678 jaisi values likhta hai — woh sirf 4 bytes hain (12, 34, 56, 78), har ek do hex digits ka pair. Hex byte boundaries ko ek nazar mein visible bana deta hai.


4. Significance — kaun sa digit zyada worth karta hai

0x12345678 ke liye, far left ka 12 MSB hai (sabse zyada worth karta hai) aur far right ka 78 LSB hai (sabse kam worth karta hai). Yahi ordering hai jiski wajah se "big end" vs "little end" ka koi matlab banta hai.

Figure 3 mein 0x12345678 ke char bytes ko bars ki tarah stack kiya gaya hai jinka height unki significance hai: tall orange 0x12 (weighted by ) se neeche chhote 0x78 tak (weighted by ). Top par arrow yaad dilata hai ki significance LSB ki taraf right move karne par decrease karti hai.

Figure — Endianness (big vs little)
Figure 3 — 0x12345678 ke char bytes significance ke hisaab se rank kiye gaye: MSB 0x12 (×256³) sabse zyada worth karta hai, LSB 0x78 (×256⁰) sabse kam.


5. Power — bytes ki powers se kyun weighted hote hain

Exactly kyun aur kuch aur kyun nahi? Kyunki har byte bits contribute karta hai, aur . Ek byte ke neeche bytes stack karne se us byte ki value se exactly baar multiply hoti hai — woh hai . Note karo (koi bhi number power par hota hai), toh LSB se weighted hota hai: woh sach mein "ones" byte hai.


6. Floor aur mod tools — EK byte nikalna

Parent ka key formula hai . Yahan do nayi symbols aate hain; dono ek precise question ka jawab dete hain.

Yeh do kyun, aur kyun saath mein? Byte number grab karne ke liye tumhe (1) uske neeche ke bytes ko shift away karna hai, phir (2) bottom mein sirf ek byte keep karna hai:

  • se divide karna byte ko "ones" position par slide kar deta hai — lekin higher bytes upar chipke rehte hain. floor koi bhi fractional leftovers saaf kar deta hai taaki hamare paas clean whole number rahe.
  • Tab mod 256 bottom byte ke upar ki sab cheezein kaat deta hai — kyunki exactly ek byte ki values ka ek hissa hai.

7. Address — memory mein numbered slot

aur pin down hone ke baad, parent ke do rules clearly padhte hain ( value mein bytes ki sankhya hai, 32-bit integer ke liye ):

  • Little-endian: (byte offset par jaata hai — straight copy, toh LSB address par).
  • Big-endian: (index reversed hai, toh sabse bada byte offset par, yaani address par land karta hai).

8. Do se zyada: kya big aur little hi sirf orders hain?


Prerequisite map

Bit = one 0 or 1

Byte = 8 bits = 256 values

Nibble = 4 bits = one hex digit

Hex = 2 digits per byte

Significance MSB vs LSB

Weight 256^k per byte

Floor and mod extract one byte

Address = numbered byte slot

Base A and offset i give mem index

Endianness = which byte at lowest address


Equipment checklist

Daayein side cover karo aur zor se jawab do — agar koi ruk jaaye, to main note se pehle woh section dobara padho.

Ek bit kya hai, ek phrase mein?
Ek storage cell jo exactly ya hold karta hai.
Ek byte mein kitne distinct values fit hote hain, aur kyun?
, kyunki 8 bits se patterns bante hain.
Ek byte ke andar, bit 0 kaun sa hai aur woh kitna worth karta hai?
Sabse daayein bit (LSB), se weighted; bit 7 sabse baya (MSB) hai, worth .
Nibble kya hota hai?
4 bits ka ek group (aadha byte) = exactly ek hex digit ka worth, patterns.
Ek number ke aage 0x kya batata hai?
Number hexadecimal (base-16) mein likha gaya hai.
0x12345678 kitne bytes ka hai?
Char bytes: 12, 34, 56, 78.
0x12345678 kaunsa decimal number hai?
( se).
0xAABBCCDD mein MSB kaun sa byte hai?
AA — sabse baya, sabse badi power se weighted.
mein, kis range par run karta hai?
(LSB) se (MSB) tak; 32-bit ke liye toh .
Har byte se nahi balki se kyun weighted hota hai?
Ek byte values ke baad roll over karta hai, toh ek byte upar shift karna worth ko se multiply karta hai.
kya equal hai?
— floor fractional part drop kar deta hai.
kya equal hai?
— divide karne ke baad remainder.
mein, division kya kaam karta hai?
Byte ko bottom position par shift kar deta hai.
Usi formula mein, mod 256 kya kaam karta hai?
Sirf single bottom byte rakhta hai, higher wale discard kar deta hai.
"Byte-addressable" ka matlab kya hai?
Har memory address exactly ek byte naam karta hai.
raw address ke terms mein kya refer karta hai?
Address par byte (base se offset ) — mem 0 se offset ke through index hota hai, toh address par byte hai.
Kya big- aur little-endian theoretically sirf possible byte orders hain?
Nahi — bytes orders allow karte hain; middle/mixed-endian (e.g. PDP-11) exist karta tha, lekin sirf big aur little common hain.

Connections

  • Parent: Endianness (big vs little) — yeh foundations seedha isme feed hote hain.
  • Data Representation — jahan se aata hai.
  • Memory Addressing aur ke peeche numbered-slot model provide karta hai.
  • Bitwise Operations — floor/mod extraction practice mein shifts aur masks se kiya jaata hai.
  • Pointers and Type Punning — chosen addresses par individual bytes padhta hai.
  • Network Protocols — wajah ki do conventions kabhi milte hain.