Binary, hexadecimal और unsigned representation
Bits पढ़ने से पहले उनकी व्याख्या तय करें
Bit एक binary digit है, जिसका मान 0 या 1 होता है। Bit pattern, bits का क्रम है। Numerical representation उस क्रम को कोई संख्यात्मक मान देती है। एक ही pattern की अलग representations में अलग व्याख्या हो सकती है, इसलिए पहले base, width और interpretation लिखें। इस पाठ में सभी stored values unsigned integers हैं: कोई sign bit नहीं है और हर स्थान का योगदान गैर-ऋणात्मक है। बीच की गणनाएँ गणितीय पूर्णांकों पर हैं, किसी विशेष programming language के integer type पर नहीं।
पूर्वज्ञान: पूर्णांकों की सामान्य गणना, घात और भागफल-शेष। पाठ के बाद आप छोटे unsigned मान decimal, binary और hexadecimal में बदल सकेंगे, आवश्यक width का कारण बता सकेंगे और exact sum को केवल निचले bits रखने से अलग कर सकेंगे। Signed encodings, fractions और floating point इस शुरुआती पाठ में शामिल नहीं हैं।
n-bit unsigned representation की शर्तें हैं: n धनात्मक पूर्णांक है; ठीक n स्थान हैं; हर b_i का मान 0 या 1 है; सबसे दाएँ स्थान का index 0 है; और मान, i=0 से n−1 तक b_i × 2^i का योग है। सबसे दायाँ bit least significant bit (LSB) और सबसे बायाँ bit most significant bit (MSB) कहलाता है। Unsigned व्याख्या में MSB का भार 2^(n−1) है; वह ऋणात्मक चिह्न नहीं है।
स्थान का भार और मानों की सीमा
Base r में हर digit का मान 0 से r−1 के बीच होता है। एक स्थान बाएँ जाने पर भार r गुना हो जाता है। इसलिए decimal 305 का अर्थ 3×100 + 0×10 + 5 है। Binary 10110 का अर्थ 1×16 + 0×8 + 1×4 + 1×2 + 0×1 = 22 है। (10110)₂ जैसी लिखावट base साफ करती है। Conversion के सवाल में बिना base लिखा 10 अस्पष्ट हो सकता है।
n bits के 2^n अलग patterns होते हैं, क्योंकि हर स्थान पर दो स्वतंत्र विकल्प हैं। सबसे छोटा unsigned मान 0 है। सबसे बड़ा मान 1+2+...+2^(n−1)=2^n−1 है। कुल मान 2^n हैं, लेकिन अधिकतम मान उससे एक कम है क्योंकि गिनती शून्य से शुरू होती है। चार bits में 16 patterns हैं और अधिकतम मान 15 है, 16 नहीं। आठ bits में 256 patterns और 0 से 255 तक के मान मिलते हैं।
धनात्मक पूर्णांक x के लिए सबसे छोटा ऐसा n चाहिए कि x < 2^n हो। x≥1 पर यह n = floor(log₂ x)+1 है। शून्य को अलग संभालें: उसका सामान्य binary numeral 0 है और एक bit पर्याप्त है; यहाँ zero-width storage नहीं लेते। 0 से M तक हर पूर्णांक रखने के लिए धनात्मक n ऐसा चुनें कि M≤2^n−1 हो। दो की घात के आसपास approximate logarithm पर निर्भर होने के बजाय घातों की सीधी तुलना करना सुरक्षित है।
हल किया उदाहरण 1: decimal से binary
45 को बार-बार 2 से भाग दें। हर शेष, दाएँ से अगला bit देता है:
| वर्तमान भागफल | 2 से भाग देने पर अगला भागफल | शेष |
|---|---|---|
| 45 | 22 | 1 |
| 22 | 11 | 0 |
| 11 | 5 | 1 |
| 5 | 2 | 1 |
| 2 | 1 | 0 |
| 1 | 0 | 1 |
शेषों को नीचे से ऊपर पढ़ें: (101101)₂। स्थानों के भार से स्वतंत्र जाँच करें: 32+8+4+1=45। छह bits पर्याप्त हैं क्योंकि 32≤45<64 है। 8-bit field में वही मान 00101101 लिखा जाएगा। बाईं ओर शून्य जोड़ने से width बदलती है, unsigned मान नहीं। दाईं ओर शून्य जोड़ने से मान दोगुना होता है, यदि पूरा परिणाम रखा जाए।
यह विधि क्यों चलती है? हर चरण में x=2q+r और r∈{0,1} है। शेष 2^0 का coefficient देता है। q को इसी प्रकार खोलने पर ऊँचे स्थानों के coefficients मिलते हैं। भागफल शून्य होने पर रुकने से अनावश्यक leading zeros नहीं जुड़ते। शेषों को ऊपर से नीचे पढ़ना स्थानों का क्रम उलट देता है।
Hexadecimal, binary लिखने का छोटा तरीका
Hexadecimal का base 16 है। इसके symbols 0–9, A, B, C, D, E, F क्रमशः 0–15 के मान दर्शाते हैं। छोटे और बड़े अक्षर एक ही digit value बताते हैं। 16=2^4 होने से चार binary स्थान ठीक एक hex digit के बराबर हैं। चार bits के समूह को अक्सर nibble कहते हैं। Hex numeral में A को decimal 1 या कोई variable न समझें।
| Decimal / दशमलव | Hex | Four bits / चार bits |
|---|---|---|
| 0 | 0 | 0000 |
| 1 | 1 | 0001 |
| 2 | 2 | 0010 |
| 3 | 3 | 0011 |
| 4 | 4 | 0100 |
| 5 | 5 | 0101 |
| 6 | 6 | 0110 |
| 7 | 7 | 0111 |
| 8 | 8 | 1000 |
| 9 | 9 | 1001 |
| 10 | A | 1010 |
| 11 | B | 1011 |
| 12 | C | 1100 |
| 13 | D | 1101 |
| 14 | E | 1110 |
| 15 | F | 1111 |
हल किया उदाहरण 2: समूह दाएँ से बनाएँ
(110101101)₂ को hexadecimal में बदलें। LSB वाले सिरे से चार-चार bits के समूह बनाएँ: 1 | 1010 | 1101। केवल बाएँ समूह में zeros जोड़ें: 0001 | 1010 | 1101। Digits 1, A, D मिलते हैं, इसलिए उत्तर (1AD)₁₆ है। जाँच: 1×256+10×16+13=429। Binary के भार 256+128+32+8+4+1 भी 429 देते हैं। दाईं ओर padding करने से मान बदल जाएगा।
उलटी दिशा में (2F)₁₆ से 0010 | 1111 मिलता है, यानी आठ bits में (00101111)₂। Decimal मान 2×16+15=47 है। Width न दी हो तो 101111 भी यही unsigned मान है। Width आठ दी हो तो शुरुआती दोनों zeros बनाए रखें। Hex notation अपने आप signedness या word size तय नहीं करती।
हल किया उदाहरण 3: width और overflow
एक device को 0 से 300 तक की सभी counts रखनी हैं। आठ bits का अधिकतम 255 है, जबकि नौ bits का 511 है। इसलिए नौ bits आवश्यक और पर्याप्त हैं। कुल 301 counts हैं; “अधिकतम 300” को “कुल 300 मान” न समझें।
अब दो 4-bit unsigned मान 1101 और 0110 जोड़ें। वे 13 और 6 हैं, इसलिए exact sum 19 = (10011)₂ है। पूरा परिणाम रखने के लिए पाँच bits चाहिए। यदि operation केवल चार निचले bits रखने को कहता है, तो stored result 0011 = 3 और carry-out 1 होगा। गणितीय योग अब भी 19 है। Truncation का अर्थ सामान्य पूर्णांक गणना में 13+6=3 कहना नहीं है।
दो n-bit inputs a और b तथा वैकल्पिक incoming bit c∈{0,1} के लिए t=a+b+c रखें। तब low=t mod 2^n और carry=floor(t/2^n) है। t≤2^(n+1)−1 होने से carry एक bit है। पूरा मान वापस पाने का संबंध है t=carry×2^n+low। Unsigned overflow ठीक तब होता है जब carry=1, यानी t≥2^n। यह जाँच इसी addition की शर्तों के लिए है; इसे signed arithmetic या हर operation पर बिना जाँचे लागू न करें।
सवाल हल करने की भरोसेमंद विधि
- Base, unsigned interpretation और required width लिखें।
- Place values खोलें या repeated division करें; digit symbol और digit value अलग रखें।
- Binary/hex conversion में चार के समूह दाएँ से बनाएँ और padding बाएँ करें।
- किसी दूसरी विधि से वापस conversion करके उत्तर जाँचें।
- Arithmetic में पहले exact integer निकालें। फिर जरूरत के अनुसार low bits और carry अलग बताएँ।
सामान्य गलतियाँ और त्वरित संदर्भ
- “n bits का अधिकतम 2^n है” में patterns की संख्या और अधिकतम मान मिल गए हैं।
- “शुरुआती 1 का अर्थ negative है” unsigned शर्त के विरुद्ध है।
- सामान्य numeral में leading zeros हट सकते हैं, लेकिन exact field width माँगी हो तो उन्हें हटाना गलत है।
- दायाँ सिरा align किए बिना बाईं ओर से hex समूह बनाने पर digit boundaries बदल जाती हैं।
- अंतिम carry उन n retained bits में शामिल नहीं है; उसका भार 2^n है।
संदर्भ: unsigned मान = Σb_i2^i; सीमा = 0…2^n−1; patterns = 2^n; एक hex digit = चार bits; exact sum = carry×2^n + low। ये representation के तथ्य हैं, पूरी machine के storage layout या byte order का वर्णन नहीं।
मौलिक अभ्यास: छह single-correct MCQ
ये बुनियाद मजबूत करने के लिए बनाए गए मौलिक प्रश्न हैं, पिछले वर्षों के प्रश्न नहीं। हर प्रश्न में ठीक एक विकल्प चुनें।
C01. Unsigned binary numeral (101101)₂ का decimal मान क्या है?
A. 43 B. 44 C. 45 D. 46
उत्तर: C
A गलत है: 43 का binary 101011 है; निचले बीच के bits के भार अलग हैं।
B गलत है: 44=32+8+4 में अंतिम 1 छूट गया।
C सही है: 32+8+4+1=45।
D गलत है: 46=32+8+4+2 का अंत 10 होगा, 01 नहीं।
C02. 7-bit unsigned field के लिए patterns की संख्या और अधिकतम मान की सही जोड़ी कौन-सी है?
A. 128 और 127 B. 127 और 128 C. 128 और 128 D. 64 और 63
उत्तर: A
A सही है: 2^7=128 patterns में 0 से 127 तक मान हैं।
B गलत है: संख्या और अधिकतम उलट दिए हैं; 128 समा नहीं सकता।
C गलत है: अधिकतम 2^7−1 है, 2^7 नहीं।
D गलत है: 64 patterns और अधिकतम 63 छह bits के लिए हैं।
C03. 0 से 256 तक, दोनों सिरों सहित, हर unsigned पूर्णांक रखने के लिए न्यूनतम कितने bits चाहिए?
A. 7 B. 8 C. 10 D. 9
उत्तर: D
A गलत है: सात bits का अधिकतम 127 है।
B गलत है: आठ bits का अधिकतम 255 है; 256 छूट जाता है।
C गलत है: दस bits पर्याप्त हैं पर न्यूनतम नहीं; नौ से काम हो जाता है।
D सही है: नौ bits में 0 से 511 तक, सभी 257 आवश्यक मानों सहित, आ जाते हैं।
C04. Hexadecimal (B6)₁₆ का unsigned 8-bit binary pattern कौन-सा है?
A. 10100110 B. 10110110 C. 11010110 D. 10110101
उत्तर: B
A गलत है: 1010 का digit A है, इसलिए यह A6 है।
B सही है: B=11=1011 और 6=0110; जोड़कर लिखने पर 10110110।
C गलत है: 1101 का digit D है, इसलिए यह D6 है।
D गलत है: अंतिम nibble 0101=5 है, इसलिए B5 मिलता है।
C05. 4-bit adder में unsigned 1110 और 0101 जोड़ें; incoming carry 0 है। (निचले चार bits, carry-out) क्या होंगे?
A. 0011, 1 B. 10011, 0 C. 0011, 0 D. 1111, 1
उत्तर: A
A सही है: 14+5=19=1×16+3, इसलिए low 0011 और carry 1।
B गलत है: 10011 पूरा पाँच-bit परिणाम है, चार low bits नहीं।
C गलत है: low 0011 सही है, लेकिन 19>15 होने से carry 1 है।
D गलत है: low 1111 का मान 15 है; carry 1 के साथ पूरा मान 31 बनता।
C06. Unsigned binary (1010111)₂ के बराबर hexadecimal numeral कौन-सा है?
A. A7 B. AE C. 57 D. 507
उत्तर: C
A गलत है: A7 का binary 10100111 है, जो अलग क्रम है।
B गलत है: AE मूल pattern के दाएँ padding से मिलता है; इससे 87 दोगुना होकर 174 बनता है।
C सही है: बाएँ padding से 0101 0111 मिलता है; digits 5 और 7 हैं तथा decimal मान 87 है।
D गलत है: बीच में zero hex digit डालने से भार बदलते हैं; 507 का मान 1287 है।
पाठ्यक्रम से संबंध और सीमा
यह Digital Logic का शुरुआती पाठ है; इससे GATE CS का पूरा Digital Logic पूरा नहीं होता। आधिकारिक GATE 2027 CS पाठ्यक्रम में Boolean algebra और minimization, combinational तथा sequential design, और number representation तथा arithmetic शामिल हैं। Karnaugh map, tabular minimization, sequential design, signed-number arithmetic और floating-point arithmetic के लिए आगे अलग पाठ चाहिए। पाठ्यक्रम से विषय की प्रासंगिकता जाँची गई है; यहाँ के उदाहरण और प्रश्न मौलिक हैं।
Official GATE 2027 CS syllabus, Section 2 (checked 2026-10-14).
तकनीकी convention का संदर्भ; हल किए उदाहरण और अभ्यास मौलिक हैं: MIT Computation Structures binary encoding.
प्रगति सहेजने के लिए साइन इन करें। साइन इन