क्यों कंप्यूटर बाइनरी नंबर सिस्टम (0,1) का उपयोग करते हैं?


31

क्यों कंप्यूटर बाइनरी नंबर सिस्टम (0,1) का उपयोग करते हैं? वे इसके बजाय टर्नरी नंबर सिस्टम (0,1,2) या किसी अन्य नंबर सिस्टम का उपयोग क्यों नहीं करते हैं?


9
यह इलेक्ट्रिकल इंजीनियरिंग के बारे में एक सवाल है। जाहिरा तौर पर द्विआधारी फाटकों को लागू करना आसान है। IIRC कुछ बिंदुओं पर कुछ टर्नरी-आधारित कंप्यूटर बनाया गया था।
युवल फिल्मस

7
आपने क्या शोध किया है? जब मैं Google में आपके प्रश्न का शीर्षक टाइप करता हूं, तो मुझे ऐसे खोज परिणाम मिलते हैं जो आपके प्रश्न के कई उत्तर प्रदान करते हैं। साथ ही, बाइनरी नंबर और बाइनरी कोड पर विकिपीडिया लेख की संक्षिप्त व्याख्या है। हम उम्मीद करते हैं कि आप यहां पूछने से पहले एक महत्वपूर्ण शोध कर सकते हैं, और यह मुझे ऐसा लगता है जैसे आपने पूछने से पहले बुनियादी शोध भी नहीं किया है। Google और विकिपीडिया को खोजना एक नंगे न्यूनतम है।
डीडब्ल्यू

बड़े आधार समग्र रूप से उपयोगी नहीं थे।
राफेल

@ राफेल: टेरनेरी ने किया था
डक

2
मैं इसे एक टिप्पणी के रूप में रखने जा रहा हूं क्योंकि पहले से ही एक स्वीकृत उत्तर है। यह इलेक्ट्रॉनिक उपकरणों का निर्माण करने के लिए असाधारण रूप से मुश्किल है जो विनिर्माण सहिष्णुता के कारण दस मूल्यों के बीच मज़बूती से भेदभाव करते हैं। इलेक्ट्रॉनिक उपकरणों का निर्माण करना आसान है जो दो मूल्यों के बीच भेदभाव करते हैं। तो, संक्षिप्त उत्तर यह है कि कंप्यूटर विश्वसनीयता के लिए द्विआधारी प्रतिनिधित्व का उपयोग करते हैं । मैंने उन लोगों के लिए अधिक विस्तृत उत्तर लिखा है जो देखभाल कर सकते हैं: bbrown.kennesaw.edu/papers/why_binary.html
बॉब ब्राउन

जवाबों:


31

चूंकि हम कंप्यूटर साइंस में हैं, इसलिए मैं इस तरह से जवाब दूंगा: वे नहीं।

हम "कंप्यूटर" से क्या मतलब है? कई परिभाषाएँ हैं, लेकिन कंप्यूटर विज्ञान में विज्ञान के रूप में, सबसे आम ट्यूरिंग मशीन है।

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

तो, मैं इनपुट वर्णमाला , या { a , b } , या { 0 , 1 , 2 } , या { , } के साथ एक ट्यूरिंग मशीन बना सकता हूं । इससे कोई फर्क नहीं पड़ता। तथ्य यह है, मैं किसी भी वर्णमाला का उपयोग कर सकता हूं जिसे मैं डेटा एन्कोड करना चुनता हूं।{0,1}{a,b}{0,1,2}{,}

तो, मैं कह सकता हूँ कि 9, या मैं कह सकता हूँ कि है 9. यह नहीं बात है, वे सिर्फ प्रतीकों के बाद से हम अलग कर सकते हैं है।0001001↑↑↑↓↑↑↓

ट्रिक यह है कि बाइनरी पर्याप्त है। बिट्स के किसी भी क्रम को एक संख्या के रूप में व्याख्या किया जा सकता है, इसलिए आप बाइनरी से किसी अन्य सिस्टम और बैक में परिवर्तित कर सकते हैं।

लेकिन, यह पता चला है कि एकात्मक भी पर्याप्त है। आप 111111111 के रूप में 9 को एन्कोड कर सकते हैं। यह विशेष रूप से कुशल नहीं है, लेकिन इसमें समान कम्प्यूटेशनल शक्ति है।

जब आप लैम्बडा कैलकुलस की तरह संगणना के वैकल्पिक मॉडल को देखते हैं, तो चीजें और भी भयावह हो जाती हैं। यहां, आप संख्याओं को फ़ंक्शन के रूप में देख सकते हैं। वास्तव में, आप सब कुछ कार्यों के रूप में देख सकते हैं। चीजें बिट्स, 0s और 1s के रूप में एन्कोडेड नहीं हैं, लेकिन बंद गणितीय कार्यों के साथ बिना किसी परिवर्तनशील स्थिति के। आप इस तरह से संख्याएँ कैसे कर सकते हैं, इसके लिए चर्च के अंक देखें ।

मुद्दा यह है कि, 0s और 1s पूरी तरह से हार्डवेयर विशिष्ट मुद्दा है, और चुनाव मनमाना है। ऑपरेटिंग सिस्टम या नेटवर्किंग जैसे कुछ सबफील्ड्स के बाहर आप जो एन्कोडिंग का उपयोग कर रहे हैं वह कंप्यूटर विज्ञान के लिए विशेष रूप से प्रासंगिक नहीं है।


2-काउंटर मशीनों में इनपुट एन्कोडिंग के बारे में क्या। यह बात लगती है। क्या आप वाकई इतने मौलिक एन्कोडिंग मुद्दों को खारिज कर सकते हैं? और मैं शायद ही इस बात से सहमत हूँ कि जटिलता एक गैर-मुद्दा है; लेकिन लैम्ब्डा कैलकुलस इसे संबोधित करने का एक उचित तरीका है?
बाबू

मैं मानता हूँ कि जब आप एकता का उपयोग करते हैं तो जटिलता की समस्याएँ होती हैं। लेकिन बाइनरी बनाम टर्नेरी या ऐसा कुछ भी पसंद कुछ मनमाना है। यह एन्कोडिंग की पसंद की तरह नहीं है, लेकिन इससे कोई कानून निर्धारित नहीं होता कि हम किसी विशेष का उपयोग क्यों करते हैं। यह ज्यादातर या तो सुविधा से या हार्डवेयर आवश्यकताओं से तय होता है, जो कुछ हद तक कम्प्यूटेशनल साइंस से बाहर हैं।
jmite

1
"तो, मैं इनपुट वर्णमाला के साथ एक ट्यूरिंग मशीन बना सकता हूं"। मुझे लगता है कि आपको "इनपुट वर्णमाला" के बजाय यहां "टेप वर्णमाला" लिखना चाहिए। दिलचस्प हिस्सा यह है कि अभिकलन के लिए उपयोग किया जाता है और इनपुट के लिए नहीं। इसके अलावा मैं एकजुट होने के साथ काफी असहमत हूं। बिना टेप वाली वर्णमाला वाला एक TM लगभग बेकार है, क्योंकि टेप स्थिर है।
साइमन एस

अंतिम वाक्य के बारे में: कंप्यूटर हार्डवेयर और आर्किटेक्चर का डिज़ाइन और अध्ययन भी कंप्यूटर विज्ञान का हिस्सा है।
केवह

2
आप इस बिंदु को जोड़ना चाह सकते हैं कि एकात्मक से द्विआधारी तक जाने से आपके संख्याओं के आकार में कमी हो जाती है, जो एक गंभीर सुधार है, जबकि आगे जाना उतना ही लाभ नहीं देता है (केवल एक रैखिक कारक)।
रीस्टोरियरपोस्ट

23

कुछ अन्य बातों पर विचार करें:

द्विआधारी संख्या प्रणाली का उपयोग करने का कारण यह है कि यह सबसे कम-आधार संख्या प्रणाली है जो रैखिक, अंतरिक्ष के बजाय लघुगणक में संख्याओं का प्रतिनिधित्व कर सकती है। यूनिकरी में अलग-अलग संख्याओं के बीच विशिष्ट रूप से अंतर करने के लिए , अभ्यावेदन की औसत लंबाई कम से कम n के समानुपाती होनी चाहिए , क्योंकि लंबाई k का केवल एक स्ट्रिंग है जहाँ k < n ; 1 + 1 + + 1 = एन । द्विआधारी में n विभिन्न संख्याओं के बीच विशिष्ट अंतर करने के लिए , अभ्यावेदन की औसत लंबाई कम से कम 2 लॉग के लिए आनुपातिक होनी चाहिएnnkk<n1+1+...+1=nn , चूंकिलंबाई k के 2 k बाइनरी नंबर हैं; 1 + 2 + + एन + log2n2kk। एक बड़ा आधार चुनना एक स्थिर कारक द्वारा अंतरिक्ष की आवश्यकता में सुधार करता है; आधार 10 आप हो जाता हैnसंख्या के एक औसत प्रतिनिधित्व लंबाई के साथलॉग10nहै, जोलोग इन1020.3सभी के लिए बार एक आधार दो प्रतिनिधित्व की औसत लंबाईएन। बाइनरी और यूनरी के बीच का अंतर बहुत अधिक है; वास्तव में, यहnका एक कार्य है। यूनीरी पर बाइनरी को चुनकर आपको बहुत कुछ मिलता है; तुलना के आधार पर आप उच्च आधार चुनकर बहुत कम प्राप्त करते हैं।1+2+...+n+12=nnlog10nlog1020.3nn

इस विचार में कुछ सच्चाई है कि डिजिटल लॉजिक को लागू करना आसान है अगर हमें केवल दो राज्यों को अलग करना है। इलेक्ट्रिक सिग्नल एनालॉग हैं और, जैसे कि, आप के रूप में कई असतत राज्यों का प्रतिनिधित्व करने के लिए व्याख्या की जा सकती है ... लेकिन आपको उसी सीमा पर अधिक राज्यों को मज़बूती से भेद करने के लिए अधिक सटीक (इसलिए महंगा और बारीक) हार्डवेयर की आवश्यकता है। यह सुझाव देता है कि जितना हो सके उतना कम आधार चुनना।

एक और संभावित महत्वपूर्ण विचार यह है कि तर्क को दो अलग-अलग मूल्यों को शामिल करने के लिए शास्त्रीय रूप से समझा गया है: और f a l s e । अब, हमारे पास इसके मुकाबले कट्टरपंथी लोगिक्स हैं, लेकिन गणित और विज्ञान का एक बहुत अभी भी सुंदर नींव धारणाओं पर टिकी हुई है। जब आप विचार करते हैं कि कंप्यूटर्स की गणना करने के लिए उपयोग किया जाता है, और यह तर्क कम्प्यूटेशन के लिए महत्वपूर्ण है, तो यह कम से कम दो अलग-अलग राज्यों के लिए अच्छा समर्थन होने का सुझाव देता है ... लेकिन तर्क वास्तव में इससे अधिक की आवश्यकता नहीं है।truefalse


9

बड़ा कारण है कि अधिकांश कंप्यूटर सर्किट दो राज्यों का उपयोग यह है कि आवश्यक circuitry की मात्रा के बीच अंतर करना है n अलग वोल्टेज स्तर के लिए मोटे तौर पर आनुपातिक है एन -1। नतीजतन, तीन विचारशील राज्यों में प्रति सिग्नल दो बार अधिक सर्किटरी की आवश्यकता होगी, और चार होने के लिए तीन गुना अधिक की आवश्यकता होगी। केवल सूचना की मात्रा को दोगुना करते हुए सर्किट्री की मात्रा को तीन गुना करना दक्षता में कमी का प्रतिनिधित्व करेगा।

ध्यान दें कि कंप्यूटर में कुछ स्थान हैं जहां जानकारी को प्रति तत्व दो से अधिक राज्यों का उपयोग करके संग्रहीत या संचारित किया जाता है। फ्लैश मेमोरी सरणी में, सैकड़ों या हजारों मेमोरी सेल को लेवल-सेंसिंग सर्किट्री के एक सेट द्वारा सेवित किया जा सकता है। सूचना के एक निश्चित राशि को संग्रहीत करते समय दो के बजाय प्रति सेल चार स्तरों का उपयोग करना स्तर-संवेदी सर्किट्री के आकार से अधिक हो सकता है, लेकिन आवश्यक मेमोरी कोशिकाओं की संख्या में आधे से कटौती करेगा। जब 100-बेस-टी या तेज ईथरनेट पर संचार करते हैं, तो केबल पर कई सिग्नल स्तरों का पता लगाने के लिए आवश्यक सर्किटरी की लागत या तो अधिक तारों वाले केबल का उपयोग करने या केबल का उपयोग करने की लागत से बौना हो जाएगी जो अधिक संभाल सकती है संकेत संक्रमण के एक अस्वीकार्य स्तर के बिना प्रति सेकंड संकेत।


9

अनुसंधान प्रयोगशालाओं में क्वांटम कंप्यूटर मौजूद हैं जो सूचना की मूल इकाई के रूप में q-बिट का उपयोग करते हैं जो 0 और 1 दोनों एक साथ हो सकते हैं।
http://en.wikipedia.org/wiki/Quantum_computer

इस संदर्भ में निर्मित टर्नरी क्वांटम कंप्यूटर भी हैं। http://en.wikipedia.org/wiki/Ternary_muter

इसलिए, वैकल्पिक कंप्यूटिंग उपकरणों का निर्माण करना संभव है जो बाइनरी नंबर सिस्टम पर भरोसा नहीं करते हैं। उदाहरण के लिए फाइबर ऑप्टिक सिस्टम 0 और 1 के रूप में प्रकाश के दो अलग-अलग ऑर्थोगानल ध्रुवीकरण के लिए 0 का उपयोग करते हैं।

इन बातों का उल्लेख करने का कारण यह है क्योंकि मैं यह बताना चाहता हूं कि यद्यपि बाइनरी संख्या कंप्यूटिंग के लिए पर्याप्त हैं, फिर भी वैकल्पिक संख्या प्रणालियां हैं जिनका उपयोग कंप्यूटिंग के लिए किया जा सकता है।

xZ


3
लेकिन वे अभी भी एक द्विआधारी प्रणाली का उपयोग कर रहे हैं, क्वांटम कंप्यूटिंग में सुपरपोजिशन की स्थिति एक तीसरा संभव मूल्य नहीं है। इसके अलावा एक क्वांटम कंप्यूटिंग उदाहरण को फेंकना पूछे गए प्रश्न के लिए उपयोगी नहीं है।
lLlant

मुझे इस बारे में पता नहीं था ..
Ali786

"सूचना की मूल इकाई के रूप में q-बिट जो 0 और 1 दोनों एक साथ हो सकती है।" यह बकवास है। क्यूबिट्स सामान्य बिट्स से मौलिक रूप से अलग हैं, इसमें वे गैर-असतत (जटिल) मूल्य का प्रतिनिधित्व करते हैं। वे सभी व्यावहारिक उद्देश्यों के लिए अतुलनीय हैं।
असतत छिपकली

3

डिजिटल कंप्यूटर के दिल में प्रोसेसिंग पावर एक ट्रांजिस्टर है, जो स्विच की तरह काम करता है। स्विच के "गेट" पर करंट उठाकर, यह करंट को "कलेक्टर" और "एमिटर" के बीच प्रवाह करने की अनुमति देता है - स्विच चालू होता है। ट्रांजिस्टर को दो मोड में से एक में संचालित करने के लिए डिज़ाइन किया जाएगा - पूरी तरह से या पूरी तरह से बंद ('संतृप्त') - उन राज्यों के स्पष्ट विभाजन के साथ। ट्रांजिस्टर जल्दी से दो राज्यों के बीच स्विच कर सकता है, राज्य में बहुत सीमित त्रुटियों के साथ रहेगा।

यह सर्किटरी तर्क उपकरणों, जैसे AND, NAND, OR, XOR और अन्य कार्यों के लिए आधार बनाती है। NAND फ़ंक्शन बिल्डिंग ब्लॉकों का सबसे बुनियादी है। इन तर्क उपकरणों को प्रोसेसर प्रदान करने के लिए इकट्ठा किया जाता है जो एक पूर्वानुमेय स्थिति में रहते हैं, और बहुत से ट्रांजिस्टर को एक छोटी सी जगह में पैक किया जा सकता है ताकि कार्यक्षमता प्रदान की जा सके।

एक ट्रांजिस्टर कई, या अलग-अलग राज्यों का प्रबंधन कर सकता है, लेकिन उस तरीके से काम करते समय वे पारंपरिक "डिजिटल" कंप्यूटर का उत्पादन नहीं करते हैं - वे एक अनुमानित स्थिति में रहने की प्रवृत्ति नहीं रखते हैं और वे हस्तक्षेप, संतृप्ति, दोलन, आदि के लिए प्रवण हैं - इसलिए कम्प्यूटेशनल क्षमताओं के संदर्भ में उनके पास सीमित अनुप्रयोग हैं। Op-amps को एनालॉग कंप्यूटर माना जा सकता है।


-3

हम केवल बाइनरी (1,0) का उपयोग करते हैं क्योंकि हमारे पास वर्तमान में "स्विच" बनाने की तकनीक नहीं है जो दो से अधिक संभावित राज्यों को मज़बूती से पकड़ सकते हैं। (क्वांटम कंप्यूटर फिलहाल बिक्री पर नहीं हैं।) बाइनरी सिस्टम को केवल इसलिए चुना गया क्योंकि इलेक्ट्रिक करंट की अनुपस्थिति से इलेक्ट्रिक करंट की मौजूदगी को भेदना काफी आसान है, खासकर जब इस तरह के कनेक्शन के खरबों के साथ काम कर रहे हों। और इस प्रणाली में किसी अन्य संख्या के आधार का उपयोग करना हास्यास्पद है, क्योंकि सिस्टम को उनके बीच लगातार परिवर्तित करने की आवश्यकता होगी। यही सब है इसके लिए।


2
यह सच है, लेकिन क्या यह सब पहले से मौजूद उत्तरों में शामिल नहीं है?
डेविड रिचरबी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.