बाइनरी, डेसिमल और हेक्साडेसिमल: एक से दूसरे में कैसे जाएँ

आधारों के बीच बदलना तब तक जादू लगता है जब तक आप यह नहीं देखते कि विचार हमेशा एक ही है: हर अंक की कीमत उसकी जगह से तय होती है। यहाँ आप हाथ से बाइनरी से डेसिमल और डेसिमल से बाइनरी करना, हेक्साडेसिमल को बिना डरे पढ़ना और टेक्स्ट को बिट्स में बदलना सीखेंगे, हल किए हिसाब और 0 से 15 की एक तालिका के साथ।

अपडेट किया गया:

स्थानीय मान प्रणाली क्या है

डेसिमल संख्या 4,095 में 4 की कीमत 4 नहीं है: वह 4,000 है, क्योंकि वह हज़ार के स्थान पर है। हर स्थान अंक को 10 की एक घात (1, 10, 100, 1,000…) से गुणा करता है। यही स्थानीय मान प्रणाली है, और आधार उन अलग-अलग अंकों की गिनती है जो इस्तेमाल होते हैं: डेसिमल में दस।

बाइनरी भी इसी तरह चलती है, पर आधार 2 के साथ: सिर्फ़ 0 और 1 होते हैं, और हर स्थान पिछले से दोगुना कीमती होता है। हेक्साडेसिमल आधार 16 इस्तेमाल करता है: सोलह अंक 0 से 9 और अक्षर A से F हैं, और हर स्थान पिछले से 16 गुना कीमती होता है। कंप्यूटर बाइनरी में काम करते हैं क्योंकि सर्किट को सिर्फ़ दो अवस्थाएँ पहचाननी होती हैं (बंद और चालू), और हेक्साडेसिमल उन्हीं बिट्स को छोटे में लिखने का तरीका है।

हर स्थान की कीमत। 128 तक 2 की घातें याद कर लेने से लगभग सारे हिसाब आसान हो जाते हैं।
स्थान (दाएँ से बाएँ)बाइनरी में मानहेक्साडेसिमल में मान
पहला11
दूसरा216
तीसरा4256
चौथा84,096
पाँचवाँ1665,536
छठा321,048,576
सातवाँ6416,777,216
आठवाँ128268,435,456

बाइनरी से डेसिमल, हाथ से

हर अंक के नीचे उसके स्थान की कीमत लिखें और सिर्फ़ उन स्थानों को जोड़ें जहाँ 1 है। 1101 का उदाहरण: दाएँ से बाएँ स्थानों की कीमत 1, 2, 4 और 8 है।

  1. संख्या लिखें और उसके नीचे हर स्थान की कीमत: 1 1 0 1 के नीचे 8 4 2 1।
  2. देखें कि हर स्थान पर क्या है: 8 वाले में 1, 4 वाले में 1, 2 वाले में 0 और 1 वाले में 1।
  3. जिन स्थानों पर 0 है उन्हें छोड़ दें (यहाँ 2 वाला)।
  4. जोड़ें: 8 + 4 + 0 + 1 = 13। यानी बाइनरी का 1101 डेसिमल में 13 है।

ज़्यादा अंकों के साथ भी यही तरीका है: 11111111 यानी 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255, जो 8 बिट में आने वाला सबसे बड़ा मान है। और 10110110 यानी 128 + 32 + 16 + 4 + 2 = 182।

डेसिमल से बाइनरी, बार-बार भाग देकर

संख्या को बार-बार 2 से भाग दें, हर भाग का शेष (हमेशा 0 या 1) लिखते जाएँ, जब तक भागफल 0 न हो जाए। शेष को नीचे से ऊपर पढ़ने पर बाइनरी संख्या मिलती है। 45 का उदाहरण:

शेष को नीचे से ऊपर पढ़ने पर 101101 मिलता है। जाँचने के लिए जोड़ें: 32 + 8 + 4 + 1 = 45।

एक दूसरा तरीका भी है जो कई लोगों को पसंद है: 2 की घातों को बड़ी से छोटी के क्रम में घटाना। 200 के लिए: 128 आता है (72 बचा), 64 आता है (8 बचा), 32 और 16 नहीं आते, पर 8 आता है (0 बचा)। इस्तेमाल हुए स्थान 128, 64 और 8 हैं, इसलिए 200 = 11001000।

हेक्साडेसिमल: सोलह अंक और हाथ में रखने की तालिका

क्योंकि 10 से 15 के लिए अंक नहीं हैं, अक्षर A, B, C, D, E और F इस्तेमाल होते हैं। एक हेक्साडेसिमल अंक ठीक चार बिट (एक «निबल») के बराबर होता है, और इसीलिए यह इतना सुविधाजनक है: 8 बिट का एक बाइट सिर्फ़ दो हेक्साडेसिमल अंकों में लिखा जाता है।

हेक्साडेसिमल से डेसिमल में जाने के लिए हर अंक को उसके स्थान की 16 की घात से गुणा करें और जोड़ें। जैसे, 3F = 3 × 16 + 15 = 63 और A3 = 10 × 16 + 3 = 163।

0 से 15 तक, टूल में दिखने वाले चारों आधारों में।
डेसिमलबाइनरी (4 बिट)ऑक्टलहेक्साडेसिमल
0000000
1000111
2001022
3001133
4010044
5010155
6011066
7011177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F

हेक्साडेसिमल क्यों इस्तेमाल होता है: बाइट, रंग और पते

एक बाइट 8 बिट का होता है और 0 से 255 (00000000 से 11111111) तक जाता है। हाथ से बिट्स लिखना धीमा है और उसमें गलतियाँ होती हैं; हेक्साडेसिमल में वही बाइट दो वर्णों का होता है, 00 से FF। बाइनरी से हेक्साडेसिमल में जाने के लिए बिट्स को दाईं ओर से चार-चार के समूहों में बाँटें और हर समूह को तालिका के अंक से बदल दें। उदाहरण: 11010111 को 1101 और 0111 में बाँटा जाता है, जो D और 7 हैं, इसलिए यह D7 है। डेसिमल में यह 13 × 16 + 7 = 215 है।

सबसे जाने-पहचाने उदाहरण वेब के रंग हैं। #FF8800 में तीन बाइट हैं: लाल के लिए FF (255), हरे के लिए 88 (136) और नीले के लिए 00 (0)। यह गहरा नारंगी रंग है: पूरा लाल, आधे से थोड़ा ज़्यादा हरा और नीला बिल्कुल नहीं। हेक्साडेसिमल मेमोरी के पतों, एरर कोड और नेटवर्क पहचान में भी दिखता है।

ASCII से टेक्स्ट को बाइनरी में

कंप्यूटर हर अक्षर को एक संख्या के रूप में रखता है, और उस संख्या को बिट्स के रूप में। ASCII तालिका में A का मान 65 है, जो 8 बिट की बाइनरी में 01000001 है। शब्द «Hi» में दो अक्षर हैं: H का मान 72 (01001000) और i का 105 (01101001), इसलिए यह 01001000 01101001 लिखा जाता है। «Hola» के लिए 72, 111, 108 और 97 हैं, यानी 01001000 01101111 01101100 01100001, या हेक्साडेसिमल में 48 6F 6C 61।

टूल UTF-8 एन्कोडिंग इस्तेमाल करता है: अंग्रेज़ी के मूल अक्षरों के लिए हर वर्ण 8 बिट का एक बाइट घेरता है, लेकिन ñ, मात्रा वाला अक्षर, हिंदी का कोई अक्षर या इमोजी कई बाइट घेरते हैं, इसलिए 8 बिट से ज़्यादा देते हैं। जैसे, ñ दो बाइट का है: 11000011 10110001 (हेक्साडेसिमल में C3 B1)।

टूल से यह सब कैसे करें

«बाइनरी, डेसिमल और हेक्साडेसिमल» कन्वर्टर आपके हाथ के हिसाब जाँचने या लंबी संख्याएँ बिना गलती के हल करने के काम आता है।

  1. संख्या को उसके आधार वाले खाने में लिखें: «डेसिमल (आधार 10)», «बाइनरी (आधार 2)», ऑक्टल या «हेक्साडेसिमल (आधार 16)»। बाकी तीन अपने आप भर जाते हैं।
  2. अगर अंक आधार से मेल नहीं खाता (जैसे बाइनरी में 2), तो टूल आपको बता देता है।
  3. टेक्स्ट के लिए उसे «टेक्स्ट» खाने में लिखें और «बाइनरी (प्रति अक्षर 8 बिट)» और बाइट के हिसाब से हेक्साडेसिमल देखें। टेक्स्ट वापस पाने के लिए आप 8-8 के समूहों में बिट्स पेस्ट भी कर सकते हैं।
  4. अनोखे आधारों के लिए «कोई भी आधार (2 से 36)» इस्तेमाल करें: शुरुआती आधार, लक्ष्य आधार और संख्या चुनें।

सीमाएँ: यह सिर्फ़ ऋणात्मक न होने वाली पूर्ण संख्याएँ बदलता है (दशमलव या चिह्न के बिना) और बाईं ओर शून्य अपने आप नहीं लगाता, इसलिए अगर आपको तय 8 बिट चाहिए तो हाथ से पूरा करना होगा (13 यानी 00001101)। आप जो लिखते हैं उसमें से कुछ भी आपके ब्राउज़र से बाहर नहीं जाता।

आम गलतियाँ

अभ्यास के लिए हल किए सवाल

हर सवाल को जवाब देखने से पहले हल करने की कोशिश करें और बाद में टूल से जाँचें।

अक्सर पूछे जाने वाले सवाल

1101 को बाइनरी से डेसिमल में कैसे बदलूँ?

उन स्थानों की कीमतें जोड़ें जहाँ 1 है: 8 + 4 + 1 = 13। दाईं ओर से दूसरा अंक 0 है, इसलिए 2 नहीं जुड़ता।

255 बाइनरी और हेक्साडेसिमल में कितना होता है?

255 बाइनरी में 11111111 और हेक्साडेसिमल में FF है। यह 8 बिट के एक बाइट में आने वाला सबसे बड़ा मान है।

हेक्साडेसिमल में अक्षर क्यों इस्तेमाल होते हैं?

क्योंकि इसे सोलह अलग प्रतीक चाहिए और डेसिमल प्रणाली सिर्फ़ दस (0 से 9) देती है। इसलिए A का मान 10, B का 11, C का 12, D का 13, E का 14 और F का 15 है।

8 बिट से कितनी अलग-अलग संख्याएँ लिखी जा सकती हैं?

256, यानी 0 से 255। आम तौर पर, n बिट से 2 की घात n जितने मान दिखाए जा सकते हैं।

क्या टूल ऋणात्मक या दशमलव वाली संख्याएँ बदलता है?

नहीं, सिर्फ़ ऋणात्मक न होने वाली पूर्ण संख्याएँ। टेक्स्ट के लिए यह UTF-8 इस्तेमाल करता है, इसलिए मात्रा वाले अक्षर, हिंदी अक्षर और इमोजी 8 बिट से ज़्यादा देते हैं।