बाइनरी क्या है, और क्यों कंप्यूटर इसका उपयोग करते हैं?
कंप्यूटर उन शब्दों या संख्याओं को नहीं समझते हैं जो मनुष्य करते हैं। आधुनिक सॉफ़्टवेयर अंतिम उपयोगकर्ता को इसे अनदेखा करने की अनुमति देता है, लेकिन आपके कंप्यूटर के निम्नतम स्तरों पर, सब कुछ एक द्विआधारी विद्युत संकेत द्वारा दर्शाया जाता है जो दो में से एक में पंजीकृत होता है: चालू या बंद। जटिल डेटा की समझ बनाने के लिए, आपके कंप्यूटर को बाइनरी में एनकोड करना होगा.
बाइनरी एक बेस 2 नंबर सिस्टम है। बेस 2 का मतलब है कि केवल दो अंक -1 और 0 हैं-जो आपके कंप्यूटर को समझने के लिए चालू और बंद राज्यों के अनुरूप हैं। आप शायद बेस 10-दशमलव प्रणाली से परिचित हैं। दशांश दस अंकों का उपयोग करता है, जो 0 से 9 तक होता है, और फिर दो अंकों की संख्या बनाने के लिए चारों ओर लपेटता है, प्रत्येक अंक पिछले (1, 10, 100, आदि) से दस गुना अधिक होता है। बाइनरी समान है, प्रत्येक अंक पिछले से दो गुना अधिक मूल्य का है.
बाइनरी में गिनती
बाइनरी में, पहला अंक दशमलव में 1 के बराबर है। दूसरा अंक 2 के लायक है, तीसरा 4 के लायक है, चौथा मूल्य 8 है, और इसलिए हर बार दोगुना है। इन सभी को जोड़ने पर आपको दशमलव में नंबर मिलता है। इसलिए,
1111 (बाइनरी में) = 8 + 4 + 2 + 1 = 15 (दशमलव में)
0 के लिए लेखांकन, यह हमें चार बाइनरी बिट्स के लिए 16 संभावित मान देता है। 8 बिट्स पर जाएं, और आपके पास 256 संभावित मान हैं। यह प्रतिनिधित्व करने के लिए बहुत अधिक स्थान लेता है, क्योंकि दशमलव में चार अंक हमें 10,000 संभावित मान देते हैं। ऐसा लग सकता है कि हम अपनी गिनती प्रणाली को सुदृढ़ बनाने के लिए इस समस्या से गुज़र रहे हैं, बस इसे क्लिंकर बनाने के लिए, लेकिन कंप्यूटर बाइनरी को दशमलव समझने की तुलना में बहुत बेहतर समझते हैं। ज़रूर, बाइनरी अधिक जगह लेता है, लेकिन हम हार्डवेयर द्वारा वापस आयोजित किए जाते हैं। और कुछ चीजों के लिए, लॉजिक प्रोसेसिंग की तरह, बाइनरी दशमलव की तुलना में बेहतर है.
एक और आधार प्रणाली है जिसका उपयोग प्रोग्रामिंग में भी किया जाता है: हेक्साडेसिमल। हालाँकि कंप्यूटर हेक्साडेसिमल पर नहीं चलते हैं, प्रोग्रामर कोड लिखते समय मानव-पठनीय प्रारूप में द्विआधारी पते का प्रतिनिधित्व करने के लिए इसका उपयोग करते हैं। ऐसा इसलिए है क्योंकि हेक्साडेसिमल के दो अंक पूरे बाइट का प्रतिनिधित्व कर सकते हैं, बाइनरी में आठ अंक। हेक्साडेसिमल दशमलव की तरह 0-9 का उपयोग करता है, और अतिरिक्त छह अंकों का प्रतिनिधित्व करने के लिए एफ के माध्यम से ए भी अक्षर.
तो क्यों कंप्यूटर द्विआधारी उपयोग करते हैं??
संक्षिप्त उत्तर: हार्डवेयर और भौतिकी के नियम। आपके कंप्यूटर का प्रत्येक नंबर एक इलेक्ट्रिकल सिग्नल है, और कंप्यूटिंग के शुरुआती दिनों में, इलेक्ट्रिकल सिग्नल बहुत सटीक रूप से मापने और नियंत्रित करने के लिए बहुत कठिन थे। यह केवल "ऑन" राज्य के बीच अंतर करने के लिए अधिक समझदार था, जो नकारात्मक चार्ज द्वारा राज्य-प्रतिनिधित्व करता है और एक सकारात्मक चार्ज द्वारा "ऑफ" राज्य-प्रतिनिधित्व करता है। उन अनिश्चितताओं के लिए क्यों "बंद" को एक सकारात्मक चार्ज द्वारा दर्शाया गया है, यह इसलिए है क्योंकि इलेक्ट्रॉनों का ऋणात्मक आवेश होता है-अधिक इलेक्ट्रॉनों का अर्थ है ऋणात्मक आवेश के साथ अधिक धारा।.
इसलिए, शुरुआती कमरे के आकार के कंप्यूटरों ने अपने सिस्टम के निर्माण के लिए बाइनरी का उपयोग किया था, और भले ही वे बहुत पुराने, थोक हार्डवेयर का उपयोग करते थे, हमने एक ही मूलभूत सिद्धांतों को रखा है। आधुनिक कंप्यूटर बाइनरी के साथ गणना करने के लिए एक ट्रांजिस्टर के रूप में जाना जाता है का उपयोग करते हैं। एक क्षेत्र-प्रभाव ट्रांजिस्टर (FET) कैसा दिखता है, इसका एक चित्र यहां दिया गया है:
अनिवार्य रूप से, यह केवल स्रोत से नाली तक प्रवाह करने की अनुमति देता है अगर गेट में एक वर्तमान है। यह एक बाइनरी स्विच बनाता है। निर्माता इन ट्रांजिस्टर का निर्माण अविश्वसनीय रूप से छोटे-सभी तरह से 5 नैनोमीटर तक कर सकते हैं, या डीएनए के दो किस्में के आकार के बारे में। यह आधुनिक सीपीयू कैसे काम करता है, और यहां तक कि वे राज्यों और बंद राज्यों के बीच अंतर करने वाली समस्याओं से पीड़ित हो सकते हैं (हालांकि यह ज्यादातर अवास्तविक आणविक आकार के कारण होता है, क्वांटम यांत्रिकी की अजीबता के अधीन है).
लेकिन केवल आधार 2 ही क्यों?
तो आप सोच रहे होंगे, “केवल 0 और 1 ही क्यों? क्या आप सिर्फ एक और अंक नहीं जोड़ सकते हैं? ”जबकि इसमें से कुछ परंपराओं में नीचे आता है कि कंप्यूटर कैसे बनाए जाते हैं, एक और अंक जोड़ने का मतलब होगा कि हमें वर्तमान के विभिन्न स्तरों के बीच अंतर करना होगा, न कि केवल“ बंद ”और“ चालू ”। , "लेकिन यह भी" एक छोटे से "और" बहुत पर "की तरह बताता है।"
यहाँ समस्या यह है कि यदि आप वोल्टेज के कई स्तरों का उपयोग करना चाहते हैं, तो आपको आसानी से उनके साथ गणना करने का एक तरीका चाहिए, और उसके लिए हार्डवेयर बाइनरी कंप्यूटिंग के प्रतिस्थापन के रूप में व्यवहार्य नहीं है। यह वास्तव में मौजूद है; इसे टर्नरी कंप्यूटर कहा जाता है, और यह 1950 के दशक के बाद से है, लेकिन यह बहुत ज्यादा है जहां इस पर विकास रुक गया। टर्नरी तर्क द्विआधारी की तुलना में अधिक कुशल है, लेकिन अभी तक, बाइनरी ट्रांजिस्टर के लिए किसी के पास कोई प्रभावी प्रतिस्थापन नहीं है, या बहुत कम से कम, बाइनरी के रूप में एक ही छोटे पैमाने पर उन्हें विकसित करने पर कोई काम नहीं किया गया है.
जिस कारण से हम टर्नरी तर्क का उपयोग नहीं कर सकते हैं वह नीचे आता है जिस तरह से ट्रांजिस्टर को कंप्यूटर में ढेर कर दिया जाता है-जिसे "गेट्स" कहा जाता है-और वे गणित करने के लिए कैसे उपयोग किए जाते हैं। गेट्स दो इनपुट लेते हैं, उन पर एक ऑपरेशन करते हैं, और एक आउटपुट वापस करते हैं.
यह हमें लंबे उत्तर के लिए लाता है: बाइनरी गणित किसी भी चीज़ की तुलना में कंप्यूटर के लिए आसान है। बूलियन लॉजिक मैप्स बाइनरी सिस्टम में आसानी से आते हैं, जिसमें ट्रू और फाल्स को ऑन और ऑफ दर्शाया जाता है। आपके कंप्यूटर में गेट्स बुलियन लॉजिक पर काम करते हैं: वे दो इनपुट लेते हैं और उन पर AND, OR, XOR, और इसी तरह एक ऑपरेशन करते हैं। दो इनपुट को प्रबंधित करना आसान है। यदि आप प्रत्येक संभव इनपुट के उत्तरों को रेखांकन करना चाहते थे, तो आपको एक सत्य तालिका के रूप में जाना जाता है:
बूलियन लॉजिक पर काम करने वाली एक बाइनरी सत्य तालिका में प्रत्येक मौलिक ऑपरेशन के लिए चार संभावित आउटपुट होंगे। लेकिन क्योंकि टर्नरी गेट्स तीन इनपुट लेते हैं, एक टर्नरी ट्रुथ टेबल में 9 या अधिक होंगे। जबकि एक बाइनरी सिस्टम में 16 संभावित ऑपरेटर (2 ^ 2 ^ 2) हैं, एक टर्नरी सिस्टम में 19,683 (3 ^ 3 ^ 3) होंगे। स्केलिंग एक मुद्दा बन जाता है क्योंकि जबकि टर्नरी अधिक कुशल है, यह तेजी से अधिक जटिल भी है.
कौन जाने? भविष्य में, हम देखना शुरू कर सकते हैं कि टर्नरी कंप्यूटर एक चीज बन गए हैं, क्योंकि हम एक आणविक स्तर तक बाइनरी की सीमा को धक्का देते हैं। अभी के लिए, हालांकि, दुनिया बाइनरी पर चलती रहेगी.
छवि क्रेडिट: spainter_vfx / शटरस्टॉक, विकिपीडिया, विकिपीडिया, विकिपीडिया