Chapter 9 · Computer basics
संख्या पद्धति — कंप्यूटर की गिनती
Number Systemहम 0 से 9 (दस अंकों) से गिनते हैं। कंप्यूटर केवल 0 और 1 से — क्योंकि उसके सर्किट में बिजली या तो बंद (0) है या चालू (1)। 💡 किसी पद्धति में जितने अलग अंक होते हैं, वही उसका आधार (Base / Radix) है।
| पद्धति | आधार | कौन-से अंक | उदाहरण |
|---|---|---|---|
| Binary (द्विआधारी) | 2 | 0, 1 — कंप्यूटर की भाषा | (1010)2 |
| Octal (अष्टाधारी) | 8 | 0 से 7 (8 और 9 नहीं) | (17)8 |
| Decimal (दशमलव) | 10 | 0 से 9 — हमारी रोज़ की गिनती | (25)10 |
| Hexadecimal (षोडश आधारी) | 16 | 0–9 और A–F (A=10, B=11, C=12, D=13, E=14, F=15) | (1F)16 |
किसी भी आधार से दशमलव: हर अंक × (आधार)स्थान, फिर सब जोड़ो — स्थान दाएँ से 0, 1, 2, …
बाइनरी के स्थानीय मान (दाएँ से): 1, 2, 4, 8, 16, 32, 64, 128 · ऑक्टल: 1, 8, 64, 512 · हेक्सा: 1, 16, 256, 4096
दशमलव से किसी आधार में: आधार से भाग देते जाओ, शेषफल नीचे से ऊपर पढ़ो
n बिट में सबसे बड़ी संख्या = 2ⁿ − 1 (8 बिट → 255)
बाइनरी के स्थानीय मान (दाएँ से): 1, 2, 4, 8, 16, 32, 64, 128 · ऑक्टल: 1, 8, 64, 512 · हेक्सा: 1, 16, 256, 4096
दशमलव से किसी आधार में: आधार से भाग देते जाओ, शेषफल नीचे से ऊपर पढ़ो
n बिट में सबसे बड़ी संख्या = 2ⁿ − 1 (8 बिट → 255)
Decimal → Binary: 2 से भाग देते जाओ ➗
प्रश्न: (25)₁₀ = ( ? )₂
25÷2 = 12 शेष 1 · 12÷2 = 6 शेष 0 · 6÷2 = 3 शेष 0 · 3÷2 = 1 शेष 1 · 1÷2 = 0 शेष 1
नीचे से ऊपर → (11001)₂
25÷2 = 12 शेष 1 · 12÷2 = 6 शेष 0 · 6÷2 = 3 शेष 0 · 3÷2 = 1 शेष 1 · 1÷2 = 0 शेष 1
नीचे से ऊपर → (11001)₂
प्रश्न: (101101)₂ = ( ? )₁₀
32·1 + 16·0 + 8·1 + 4·1 + 2·0 + 1·1
= 32 + 8 + 4 + 1 = 45
32·1 + 16·0 + 8·1 + 4·1 + 2·0 + 1·1
= 32 + 8 + 4 + 1 = 45
Binary → Decimal: अंकों के नीचे दाएँ से 1, 2, 4, 8, 16… लिखो, जहाँ 1 है वे मान जोड़ दो — 1 1 0 1 → 8 + 4 + 0 + 1 = 13। Hexa के अक्षर: A = 10 से गिनो → B 11, C 12, D 13, E 14, F = 15।
"कंप्यूटर कौन-सी पद्धति समझता है?" → बाइनरी · "बाइनरी का आधार?" → 2 · "हेक्साडेसिमल का आधार?" → 16 · "ऑक्टल में कौन-सा अंक नहीं होता?" → 8, 9 · "हेक्सा में F = ?" → 15 · "(1101)₂ = ?" → 13 · "(25)₁₀ बाइनरी में?" → 11001 · "8 बिट में सबसे बड़ी संख्या?" → 255
आपस में रूपांतरण — हल किए उदाहरण Number System
जल्दी काम आने वाली तालिका (0–15)
| Dec | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Bin | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
| Oct | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| Hex | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
Binary → Octal: दाएँ से 3-3 अंकों के समूह (1 ऑक्टल अंक = 3 बिट, क्योंकि 2³ = 8)
Binary → Hexa: दाएँ से 4-4 अंकों के समूह (1 हेक्सा अंक = 4 बिट, क्योंकि 2⁴ = 16)
Octal ↔ Hexa: पहले बाइनरी में, फिर समूह बदलो · कम अंक हों तो बाईं ओर 0 जोड़ लो
Binary → Hexa: दाएँ से 4-4 अंकों के समूह (1 हेक्सा अंक = 4 बिट, क्योंकि 2⁴ = 16)
Octal ↔ Hexa: पहले बाइनरी में, फिर समूह बदलो · कम अंक हों तो बाईं ओर 0 जोड़ लो
प्रश्न: (100)₁₀ = ( ? )₈
100÷8 = 12 शेष 4 · 12÷8 = 1 शेष 4 · 1÷8 = 0 शेष 1 → (144)₈
जाँच: 1×64 + 4×8 + 4 = 100 ✅
100÷8 = 12 शेष 4 · 12÷8 = 1 शेष 4 · 1÷8 = 0 शेष 1 → (144)₈
जाँच: 1×64 + 4×8 + 4 = 100 ✅
प्रश्न: (175)₁₀ = ( ? )₁₆
175÷16 = 10 शेष 15 (F) · 10÷16 = 0 शेष 10 (A) → (AF)₁₆
इसी तरह (255)₁₀ = (FF)₁₆
175÷16 = 10 शेष 15 (F) · 10÷16 = 0 शेष 10 (A) → (AF)₁₆
इसी तरह (255)₁₀ = (FF)₁₆
प्रश्न: (17)₈ और (2F)₁₆ दशमलव में?
(17)₈ = 1×8 + 7 = 15
(2F)₁₆ = 2×16 + 15 = 47
(17)₈ = 1×8 + 7 = 15
(2F)₁₆ = 2×16 + 15 = 47
प्रश्न: (101101)₂ ऑक्टल और हेक्सा में?
ऑक्टल: 101 | 101 → (55)₈
हेक्सा: 0010 | 1101 → (2D)₁₆ (तीनों = 45)
ऑक्टल: 101 | 101 → (55)₈
हेक्सा: 0010 | 1101 → (2D)₁₆ (तीनों = 45)
प्रश्न: (725)₈ = ( ? )₁₆
7 = 111, 2 = 010, 5 = 101 → 111010101
4-4 समूह: 0001 | 1101 | 0101 → (1D5)₁₆
7 = 111, 2 = 010, 5 = 101 → 111010101
4-4 समूह: 0001 | 1101 | 0101 → (1D5)₁₆
प्रश्न: (3C)₁₆ = ( ? )₂ = ( ? )₁₀
3 = 0011, C = 1100 → (111100)₂
3×16 + 12 = 60
3 = 0011, C = 1100 → (111100)₂
3×16 + 12 = 60
दशमलव भिन्न: (0.625)₁₀ = ( ? )₂ → 2 से गुणा करो, पूर्णांक भाग ऊपर से नीचे पढ़ो
0.625×2 = 1.25 → 1 · 0.25×2 = 0.5 → 0 · 0.5×2 = 1.0 → 1 → (0.101)₂
0.625×2 = 1.25 → 1 · 0.25×2 = 0.5 → 0 · 0.5×2 = 1.0 → 1 → (0.101)₂
बाइनरी जोड़ के नियम: 0+0 = 0 · 0+1 = 1 · 1+1 = 10 (0, हासिल 1) · 1+1+1 = 11
प्रश्न: 1011 + 0110 = 10001 (11 + 6 = 17 ✅)
प्रश्न: 1011 + 0110 = 10001 (11 + 6 = 17 ✅)
Trap: (10)₂ = 2, (10)₈ = 8, (10)₁₆ = 16 — "10" हर पद्धति में उसका आधार होता है। "128" ऑक्टल संख्या नहीं हो सकती — इसमें अंक 8 है, और ऑक्टल में 8 होता ही नहीं; "1G" हेक्सा नहीं (G नहीं होता)।
"(100)₁₀ ऑक्टल में?" → 144 · "(FF)₁₆ = ?" → 255 · "बाइनरी को ऑक्टल में बदलने के लिए कितने-कितने अंक के समूह?" → 3 · "हेक्सा के लिए?" → 4 · "1 + 1 (बाइनरी) = ?" → 10 · "वैध ऑक्टल संख्या नहीं — चुनिए" → 128
अक्षरों के कोड — ASCII और Unicode Number System
कंप्यूटर अक्षर नहीं, संख्याएँ रखता है। हर अक्षर को एक तय संख्या (कोड) मिलती है, जो बाइनरी में रहती है। जैसे A = 65 = (01000001)₂।
| कोड | पूरा नाम | बिट | पहचान |
|---|---|---|---|
| BCD | Binary Coded Decimal | 4 बिट / अंक | हर दशमलव अंक अलग 4 बिट में — 25 → 0010 0101 |
| ASCII | American Standard Code for Information Interchange | 7 बिट → 128; Extended ASCII 8 बिट → 256 | अंग्रेज़ी अक्षर, अंक, चिह्न; सबसे प्रसिद्ध पुराना कोड |
| EBCDIC | Extended Binary Coded Decimal Interchange Code | 8 बिट | IBM के मेनफ्रेम कंप्यूटरों में |
| ISCII | Indian Script Code for Information Interchange | 8 बिट | भारतीय लिपियों का पुराना मानक (BIS, 1991) |
| Unicode | Unicode Consortium का मानक | मूल Unicode = 16 बिट (65,536 वर्ण); आज UTF-8 = 1–4 बाइट (UTF-16, UTF-32 भी) | दुनिया की सभी लिपियाँ एक साथ — हिंदी, उर्दू, चीनी, इमोजी 😀; आज वेब और मोबाइल का मानक |
ASCII के याद रखने लायक कोड
| अक्षर | Space | 0 (अंक) | 9 | A | Z | a | z |
|---|---|---|---|---|---|---|---|
| ASCII कोड | 32 | 48 | 57 | 65 | 90 | 97 | 122 |
"A = 65, a = 97" — छोटे और बड़े अक्षर में अंतर 32। अंक '0' = 48 से शुरू। B = 66, C = 67 … (हर अगला अक्षर +1)।
प्रश्न: 'E' का ASCII कोड?
A = 65, B = 66, C = 67, D = 68, E = 69
'e' = 69 + 32 = 101
A = 65, B = 66, C = 67, D = 68, E = 69
'e' = 69 + 32 = 101
हिंदी और Unicode 🇮🇳
| देवनागरी का खंड | Unicode में देवनागरी के अक्षर U+0900 से U+097F तक; UTF-8 में हर हिंदी अक्षर 3 बाइट लेता है |
| Unicode फ़ॉन्ट | Mangal, Nirmala UI, Kokila — हिंदी पाठ हर कंप्यूटर / मोबाइल / वेबसाइट पर सही दिखता है, खोजा जा सकता है; सरकारी पोर्टल, ई-मेल, WhatsApp के लिए यही |
| पुराने (Non-Unicode) फ़ॉन्ट | Kruti Dev, DevLys — दूसरे कंप्यूटर पर अक्षर उलटे-पुलटे दिख सकते हैं |
"ASCII में कितने बिट?" → 7 (128 अक्षर) · "'A' का ASCII कोड?" → 65 · "'a'?" → 97 · "IBM मेनफ्रेम का कोड?" → EBCDIC · "हिंदी सहित सभी भाषाओं का कोड?" → Unicode · "भारतीय लिपियों का पुराना कोड?" → ISCII
बाइनरी घटाना, पूरक और भिन्न Number System
बाइनरी घटाने के नियम: 0 − 0 = 0 · 1 − 0 = 1 · 1 − 1 = 0 · 0 − 1 = 1 (बाईं ओर से 1 उधार लेकर; उधार = 2)
1's Complement (एक का पूरक) = हर बिट उलट दो (0 → 1, 1 → 0)
2's Complement (दो का पूरक) = 1's Complement + 1 · कंप्यूटर ऋणात्मक संख्याएँ 2's Complement में रखता है
1's Complement (एक का पूरक) = हर बिट उलट दो (0 → 1, 1 → 0)
2's Complement (दो का पूरक) = 1's Complement + 1 · कंप्यूटर ऋणात्मक संख्याएँ 2's Complement में रखता है
प्रश्न: 1101 − 0110 = ?
दाएँ से: 1−0 = 1 · 0−1 → उधार → 1 · (1−1 उधार के बाद 0)−1 → उधार → 1 · (1−1) − 0 = 0
उत्तर 0111 → जाँच: 13 − 6 = 7 ✅
दाएँ से: 1−0 = 1 · 0−1 → उधार → 1 · (1−1 उधार के बाद 0)−1 → उधार → 1 · (1−1) − 0 = 0
उत्तर 0111 → जाँच: 13 − 6 = 7 ✅
प्रश्न: 5 का 8-बिट 2's Complement (यानी −5)?
5 = 00000101
1's Complement = 11111010
+ 1 → 2's Complement = 11111011 (= −5)
5 = 00000101
1's Complement = 11111010
+ 1 → 2's Complement = 11111011 (= −5)
प्रश्न: (101.11)₂ = ( ? )₁₀
बिंदु के बाईं ओर: 4 + 0 + 1 = 5
दाईं ओर: ½ + ¼ = 0.5 + 0.25 = 0.75
कुल = 5.75
बिंदु के बाईं ओर: 4 + 0 + 1 = 5
दाईं ओर: ½ + ¼ = 0.5 + 0.25 = 0.75
कुल = 5.75
प्रश्न: (1A3)₁₆ = ( ? )₁₀
1×256 + 10×16 + 3×1
= 256 + 160 + 3 = 419
1×256 + 10×16 + 3×1
= 256 + 160 + 3 = 419
बिंदु के दाईं ओर बाइनरी के स्थानीय मान: ½, ¼, ⅛ … (2⁻¹, 2⁻², 2⁻³)। ये सभी पद्धतियाँ स्थानीय मान वाली (Positional) हैं — अंक का मान उसकी जगह से बदलता है; रोमन अंक (I, V, X) स्थानीय मान वाले नहीं।
बिट, निबल, बाइट और मान (अध्याय 7 से जोड़ो)
| Bit · Nibble · Byte | 1 बिट = 0 या 1 · 4 बिट = 1 Nibble = एक हेक्सा अंक · 8 बिट = 1 Byte = दो हेक्सा अंक (00 से FF) |
| n बिट से मान | 2ⁿ अलग मान बनते हैं — 8 बिट = 256 मान (0–255), 16 बिट = 65,536 |
ASCII के नियंत्रण कोड (Control Codes)
ASCII के 0 से 31 (और 127) नंबर छपने वाले अक्षर नहीं, बल्कि नियंत्रण कोड हैं — कुंजियाँ और आदेश।
| कुंजी / अक्षर | Backspace | Tab | Enter (CR) | Esc | Space | '0' | '5' | Delete |
|---|---|---|---|---|---|---|---|---|
| ASCII कोड | 8 | 9 | 13 | 27 | 32 | 48 | 53 | 127 |
अंक '0' से '9' = 48 से 57 → '5' = 48 + 5 = 53। घटाना = जोड़ उल्टा: 2's Complement जोड़ दो तो घटाव हो जाता है — इसीलिए कंप्यूटर में अलग "घटाने वाला" सर्किट ज़रूरी नहीं।
"बाइनरी में 0 − 1 = ?" → 1 (उधार के साथ) · "1's Complement कैसे?" → हर बिट उलटो · "2's Complement?" → 1's + 1 · "ऋणात्मक संख्याएँ किस रूप में?" → 2's Complement · "(101.11)₂ = ?" → 5.75 · "Enter का ASCII कोड?" → 13 · "Esc?" → 27 · "मूल Unicode कितने बिट?" → 16