क्यों कंप्यूटर बाइनरी नंबर सिस्टम (0,1) का उपयोग करते हैं? वे इसके बजाय टर्नरी नंबर सिस्टम (0,1,2) या किसी अन्य नंबर सिस्टम का उपयोग क्यों नहीं करते हैं?
क्यों कंप्यूटर बाइनरी नंबर सिस्टम (0,1) का उपयोग करते हैं? वे इसके बजाय टर्नरी नंबर सिस्टम (0,1,2) या किसी अन्य नंबर सिस्टम का उपयोग क्यों नहीं करते हैं?
जवाबों:
चूंकि हम कंप्यूटर साइंस में हैं, इसलिए मैं इस तरह से जवाब दूंगा: वे नहीं।
हम "कंप्यूटर" से क्या मतलब है? कई परिभाषाएँ हैं, लेकिन कंप्यूटर विज्ञान में विज्ञान के रूप में, सबसे आम ट्यूरिंग मशीन है।
एक ट्यूरिंग मशीन कई पहलुओं से परिभाषित होती है: एक राज्य-सेट, एक संक्रमण तालिका, एक पड़ाव सेट और हमारी चर्चा के लिए महत्वपूर्ण, एक वर्णमाला। यह वर्णमाला उन प्रतीकों को संदर्भित करता है जिन्हें मशीन इनपुट के रूप में पढ़ सकती है, और यह कि वह अपने टेप को लिख सकती है। (आपके पास अलग-अलग इनपुट और टेप अल्फ़ाज़ हो सकते हैं, लेकिन आइए अब इसके बारे में चिंता न करें।)
तो, मैं इनपुट वर्णमाला , या { a , b } , या { 0 , 1 , 2 } , या { ↑ , ↓ } के साथ एक ट्यूरिंग मशीन बना सकता हूं । इससे कोई फर्क नहीं पड़ता। तथ्य यह है, मैं किसी भी वर्णमाला का उपयोग कर सकता हूं जिसे मैं डेटा एन्कोड करना चुनता हूं।
तो, मैं कह सकता हूँ कि 9, या मैं कह सकता हूँ कि ↑ ↑ ↑ ↓ ↑ ↑ ↓ है 9. यह नहीं बात है, वे सिर्फ प्रतीकों के बाद से हम अलग कर सकते हैं है।
ट्रिक यह है कि बाइनरी पर्याप्त है। बिट्स के किसी भी क्रम को एक संख्या के रूप में व्याख्या किया जा सकता है, इसलिए आप बाइनरी से किसी अन्य सिस्टम और बैक में परिवर्तित कर सकते हैं।
लेकिन, यह पता चला है कि एकात्मक भी पर्याप्त है। आप 111111111 के रूप में 9 को एन्कोड कर सकते हैं। यह विशेष रूप से कुशल नहीं है, लेकिन इसमें समान कम्प्यूटेशनल शक्ति है।
जब आप लैम्बडा कैलकुलस की तरह संगणना के वैकल्पिक मॉडल को देखते हैं, तो चीजें और भी भयावह हो जाती हैं। यहां, आप संख्याओं को फ़ंक्शन के रूप में देख सकते हैं। वास्तव में, आप सब कुछ कार्यों के रूप में देख सकते हैं। चीजें बिट्स, 0s और 1s के रूप में एन्कोडेड नहीं हैं, लेकिन बंद गणितीय कार्यों के साथ बिना किसी परिवर्तनशील स्थिति के। आप इस तरह से संख्याएँ कैसे कर सकते हैं, इसके लिए चर्च के अंक देखें ।
मुद्दा यह है कि, 0s और 1s पूरी तरह से हार्डवेयर विशिष्ट मुद्दा है, और चुनाव मनमाना है। ऑपरेटिंग सिस्टम या नेटवर्किंग जैसे कुछ सबफील्ड्स के बाहर आप जो एन्कोडिंग का उपयोग कर रहे हैं वह कंप्यूटर विज्ञान के लिए विशेष रूप से प्रासंगिक नहीं है।
कुछ अन्य बातों पर विचार करें:
द्विआधारी संख्या प्रणाली का उपयोग करने का कारण यह है कि यह सबसे कम-आधार संख्या प्रणाली है जो रैखिक, अंतरिक्ष के बजाय लघुगणक में संख्याओं का प्रतिनिधित्व कर सकती है। यूनिकरी में अलग-अलग संख्याओं के बीच विशिष्ट रूप से अंतर करने के लिए , अभ्यावेदन की औसत लंबाई कम से कम n के समानुपाती होनी चाहिए , क्योंकि लंबाई k का केवल एक स्ट्रिंग है जहाँ k < n ; 1 + 1 + । । । + 1 = एन । द्विआधारी में n विभिन्न संख्याओं के बीच विशिष्ट अंतर करने के लिए , अभ्यावेदन की औसत लंबाई कम से कम 2 लॉग के लिए आनुपातिक होनी चाहिए , चूंकिलंबाई k के 2 k बाइनरी नंबर हैं; 1 + 2 + । । । + एन + १। एक बड़ा आधार चुनना एक स्थिर कारक द्वारा अंतरिक्ष की आवश्यकता में सुधार करता है; आधार 10 आप हो जाता हैnसंख्या के एक औसत प्रतिनिधित्व लंबाई के साथलॉग10nहै, जोलोग इन102≈0.3सभी के लिए बार एक आधार दो प्रतिनिधित्व की औसत लंबाईएन। बाइनरी और यूनरी के बीच का अंतर बहुत अधिक है; वास्तव में, यहnका एक कार्य है। यूनीरी पर बाइनरी को चुनकर आपको बहुत कुछ मिलता है; तुलना के आधार पर आप उच्च आधार चुनकर बहुत कम प्राप्त करते हैं।
इस विचार में कुछ सच्चाई है कि डिजिटल लॉजिक को लागू करना आसान है अगर हमें केवल दो राज्यों को अलग करना है। इलेक्ट्रिक सिग्नल एनालॉग हैं और, जैसे कि, आप के रूप में कई असतत राज्यों का प्रतिनिधित्व करने के लिए व्याख्या की जा सकती है ... लेकिन आपको उसी सीमा पर अधिक राज्यों को मज़बूती से भेद करने के लिए अधिक सटीक (इसलिए महंगा और बारीक) हार्डवेयर की आवश्यकता है। यह सुझाव देता है कि जितना हो सके उतना कम आधार चुनना।
एक और संभावित महत्वपूर्ण विचार यह है कि तर्क को दो अलग-अलग मूल्यों को शामिल करने के लिए शास्त्रीय रूप से समझा गया है: और f a l s e । अब, हमारे पास इसके मुकाबले कट्टरपंथी लोगिक्स हैं, लेकिन गणित और विज्ञान का एक बहुत अभी भी सुंदर नींव धारणाओं पर टिकी हुई है। जब आप विचार करते हैं कि कंप्यूटर्स की गणना करने के लिए उपयोग किया जाता है, और यह तर्क कम्प्यूटेशन के लिए महत्वपूर्ण है, तो यह कम से कम दो अलग-अलग राज्यों के लिए अच्छा समर्थन होने का सुझाव देता है ... लेकिन तर्क वास्तव में इससे अधिक की आवश्यकता नहीं है।
बड़ा कारण है कि अधिकांश कंप्यूटर सर्किट दो राज्यों का उपयोग यह है कि आवश्यक circuitry की मात्रा के बीच अंतर करना है n अलग वोल्टेज स्तर के लिए मोटे तौर पर आनुपातिक है एन -1। नतीजतन, तीन विचारशील राज्यों में प्रति सिग्नल दो बार अधिक सर्किटरी की आवश्यकता होगी, और चार होने के लिए तीन गुना अधिक की आवश्यकता होगी। केवल सूचना की मात्रा को दोगुना करते हुए सर्किट्री की मात्रा को तीन गुना करना दक्षता में कमी का प्रतिनिधित्व करेगा।
ध्यान दें कि कंप्यूटर में कुछ स्थान हैं जहां जानकारी को प्रति तत्व दो से अधिक राज्यों का उपयोग करके संग्रहीत या संचारित किया जाता है। फ्लैश मेमोरी सरणी में, सैकड़ों या हजारों मेमोरी सेल को लेवल-सेंसिंग सर्किट्री के एक सेट द्वारा सेवित किया जा सकता है। सूचना के एक निश्चित राशि को संग्रहीत करते समय दो के बजाय प्रति सेल चार स्तरों का उपयोग करना स्तर-संवेदी सर्किट्री के आकार से अधिक हो सकता है, लेकिन आवश्यक मेमोरी कोशिकाओं की संख्या में आधे से कटौती करेगा। जब 100-बेस-टी या तेज ईथरनेट पर संचार करते हैं, तो केबल पर कई सिग्नल स्तरों का पता लगाने के लिए आवश्यक सर्किटरी की लागत या तो अधिक तारों वाले केबल का उपयोग करने या केबल का उपयोग करने की लागत से बौना हो जाएगी जो अधिक संभाल सकती है संकेत संक्रमण के एक अस्वीकार्य स्तर के बिना प्रति सेकंड संकेत।
अनुसंधान प्रयोगशालाओं में क्वांटम कंप्यूटर मौजूद हैं जो सूचना की मूल इकाई के रूप में q-बिट का उपयोग करते हैं जो 0 और 1 दोनों एक साथ हो सकते हैं।
http://en.wikipedia.org/wiki/Quantum_computer
इस संदर्भ में निर्मित टर्नरी क्वांटम कंप्यूटर भी हैं। http://en.wikipedia.org/wiki/Ternary_muter
इसलिए, वैकल्पिक कंप्यूटिंग उपकरणों का निर्माण करना संभव है जो बाइनरी नंबर सिस्टम पर भरोसा नहीं करते हैं। उदाहरण के लिए फाइबर ऑप्टिक सिस्टम 0 और 1 के रूप में प्रकाश के दो अलग-अलग ऑर्थोगानल ध्रुवीकरण के लिए 0 का उपयोग करते हैं।
इन बातों का उल्लेख करने का कारण यह है क्योंकि मैं यह बताना चाहता हूं कि यद्यपि बाइनरी संख्या कंप्यूटिंग के लिए पर्याप्त हैं, फिर भी वैकल्पिक संख्या प्रणालियां हैं जिनका उपयोग कंप्यूटिंग के लिए किया जा सकता है।
डिजिटल कंप्यूटर के दिल में प्रोसेसिंग पावर एक ट्रांजिस्टर है, जो स्विच की तरह काम करता है। स्विच के "गेट" पर करंट उठाकर, यह करंट को "कलेक्टर" और "एमिटर" के बीच प्रवाह करने की अनुमति देता है - स्विच चालू होता है। ट्रांजिस्टर को दो मोड में से एक में संचालित करने के लिए डिज़ाइन किया जाएगा - पूरी तरह से या पूरी तरह से बंद ('संतृप्त') - उन राज्यों के स्पष्ट विभाजन के साथ। ट्रांजिस्टर जल्दी से दो राज्यों के बीच स्विच कर सकता है, राज्य में बहुत सीमित त्रुटियों के साथ रहेगा।
यह सर्किटरी तर्क उपकरणों, जैसे AND, NAND, OR, XOR और अन्य कार्यों के लिए आधार बनाती है। NAND फ़ंक्शन बिल्डिंग ब्लॉकों का सबसे बुनियादी है। इन तर्क उपकरणों को प्रोसेसर प्रदान करने के लिए इकट्ठा किया जाता है जो एक पूर्वानुमेय स्थिति में रहते हैं, और बहुत से ट्रांजिस्टर को एक छोटी सी जगह में पैक किया जा सकता है ताकि कार्यक्षमता प्रदान की जा सके।
एक ट्रांजिस्टर कई, या अलग-अलग राज्यों का प्रबंधन कर सकता है, लेकिन उस तरीके से काम करते समय वे पारंपरिक "डिजिटल" कंप्यूटर का उत्पादन नहीं करते हैं - वे एक अनुमानित स्थिति में रहने की प्रवृत्ति नहीं रखते हैं और वे हस्तक्षेप, संतृप्ति, दोलन, आदि के लिए प्रवण हैं - इसलिए कम्प्यूटेशनल क्षमताओं के संदर्भ में उनके पास सीमित अनुप्रयोग हैं। Op-amps को एनालॉग कंप्यूटर माना जा सकता है।
हम केवल बाइनरी (1,0) का उपयोग करते हैं क्योंकि हमारे पास वर्तमान में "स्विच" बनाने की तकनीक नहीं है जो दो से अधिक संभावित राज्यों को मज़बूती से पकड़ सकते हैं। (क्वांटम कंप्यूटर फिलहाल बिक्री पर नहीं हैं।) बाइनरी सिस्टम को केवल इसलिए चुना गया क्योंकि इलेक्ट्रिक करंट की अनुपस्थिति से इलेक्ट्रिक करंट की मौजूदगी को भेदना काफी आसान है, खासकर जब इस तरह के कनेक्शन के खरबों के साथ काम कर रहे हों। और इस प्रणाली में किसी अन्य संख्या के आधार का उपयोग करना हास्यास्पद है, क्योंकि सिस्टम को उनके बीच लगातार परिवर्तित करने की आवश्यकता होगी। यही सब है इसके लिए।