अष्टकोणीय और षोडश आधारी क्यों? कंप्यूटर द्विआधारी और मानव दशमलव का उपयोग करते हैं


16

हम अन्य आधारों का उपयोग क्यों करते हैं जो न तो बाइनरी हैं (कंप्यूटर के लिए) और न ही दशमलव (मनुष्यों के लिए)?

कंप्यूटर बाइनरी में उनका प्रतिनिधित्व करते हैं, और मानव दृढ़ता से अपने दशमलव प्रतिनिधित्व प्राप्त करना पसंद करते हैं। इन दो आधारों से क्यों नहीं चिपके रहते?


मुझे लगता है कि संख्या के लिए हेक्स या ग्लिफ़ की उच्च मात्रा के साथ कुछ भी उपयोग करने का कोई ठोस कारण नहीं है। इससे भी अधिक, मुझे लगता है कि द्विआधारी प्रतिनिधि भविष्य में सामान्य मामले के लिए अन्य अधिसूचनाओं को सुपरसीड कर सकते हैं।
मिखाइल वी

@MikhailV एक हेक्स प्रतिनिधित्व द्विआधारी प्रतिनिधित्व की तुलना में बहुत अधिक संक्षिप्त है। मुझे लगता है कि जो एक राशि ग्लिफ़ की एक बड़ी संख्या, 2. उपयोग करने के लिए एक बहुत ही ठोस कारण नहीं है कहेंगे
बेन जोंस

जवाबों:


19

ऑक्टल (बेस -8) और हेक्साडेसिमल (बेस -16) संख्याएं बाइनरी (बेस -2) सिस्टम कंप्यूटर का उपयोग और दशमलव (बेस -10) सिस्टम के बीच एक उचित समझौता है जो अधिकांश मनुष्य उपयोग करते हैं।

कंप्यूटर कई प्रतीकों में अच्छे नहीं हैं, इस प्रकार बेस 2 (जहां आपके पास केवल 2 प्रतीक हैं) उनके लिए उपयुक्त है, जबकि लंबे समय तक तार, अधिक अंकों वाले नंबर, किसी समस्या से कम नहीं हैं। मनुष्य कई प्रतीकों के साथ बहुत अच्छे हैं, लेकिन लंबे तार को याद रखने में अच्छे नहीं हैं।

ऑक्टल और हेक्स मानव लाभ का उपयोग करते हैं जो वे बहुत सारे प्रतीकों के साथ काम कर सकते हैं जबकि यह अभी भी बाइनरी के बीच आसानी से परिवर्तनीय आगे और पीछे है, क्योंकि प्रत्येक हेक्स अंक 4 बाइनरी अंक ( ) का प्रतिनिधित्व करता है और प्रत्येक ऑक्टल अंक 3 ( 8 = ) का प्रतिनिधित्व करता है )। मुझे लगता है कि हेक्स ऑक्टल पर जीतता है क्योंकि यह आसानी से बाइट्स और 16/32/64-बिट संख्याओं का प्रतिनिधित्व करने के लिए इस्तेमाल किया जा सकता है।16=248=23


8
एक उदाहरण के रूप में, आरजीबी के हेक्स मूल्यों पर विचार करें। यह याद रखना आसान है कि सफेद #FFFFFF है। यह याद रखना कठिन है कि श्वेत दशमलव में 16777215 है। आप # EF439A के लाल घटक को निकालना चाहते हैं? आपको # 00439A मिलता है यानी आप पहले दो अंकों को 0. में बदल देते हैं। दशमलव में, आपको 15663104 को घटाना होगा। सौभाग्य कि याद रहे।
jmite

3
सटीक होने के लिए, दशमलव संकेतन में रंग त्रिगुणों का उपयोग करेंगे, और सफेद (255, 255, 255) होगा। हम हेक्साडेसिमल मानों को केवल इसलिए बदलते हैं क्योंकि वे हमेशा 2 अंक होते हैं। हम 0 का उपयोग दशमलव के साथ भी ऐसा ही सकता है, तो सफेद 255,255,255 के बजाय 16777215. होगा
Spidey

@ सामान्य रूप से। इसके अलावा मेरा दिमाग कुछ आसान (127,255,255) को अधिक आसान बना सकता है और मैं यह भी अनुमान लगा सकता हूं कि रंग कैसा दिखेगा, क्योंकि मैं स्याही की मात्रा का अनुपात देख सकता हूं और इसे मेरे सिर में हेक्स में गणना करने की आवश्यकता नहीं है।
मिखाइल वी

13

हम उन्हें सुविधा और संक्षिप्तता के लिए उपयोग करते हैं।

हेक्स और अक्टूबर वास्तव में द्विआधारी के बकाया संकुचित प्रतिनिधित्व हैं। विशेष रूप से हेक्स स्मृति पतों के संघनित रूपों के अनुकूल है। हर ऑक्ट डिजिट सीधे 3 बाइनरी बिट्स पर और हर हेक्स डिजिट 4 बाइनरी बिट्स पर मैप करता है। यह 2 ( और 2 4 ) की शक्तियों (8 और 16) होने का एक परिणाम है । उदाहरण के लिए, मैं बाइनरी 01101001 को हेक्स 69 के रूप में लिख सकता हूं या अगर मैं इसे एक अग्रणी शून्य के साथ 151 के रूप में विस्तारित करता हूं ।23240110100169151

तो, मान लें कि आपको 64 बिट मेमोरी पतों की आवश्यकता है। आप या तो सभी 64 बाइनरी बिट्स को देख सकते हैं, या इसे 16 हेक्स अंकों के लिए संघनित कर सकते हैं। अक्सर आपको यह देखने के लिए कुछ पतों की तुलना करने की आवश्यकता नहीं होती है कि क्या वे समान या सन्निहित हैं। क्या आप बल्कि 64 बिट्स या 16 अंकों को देखेंगे?


5
ऑक्टल को किसी भी अंक के प्रतीकों को नहीं जोड़ने का लाभ है और हो सकता है कि 6-बिट वर्णों के दिनों में अधिक व्यावहारिक हो (और सामान्य गैर-शक्ति-दो शब्दों में, जैसे, 12-बिट पीडीपी -8, 18-बिट पीडीपी- 1 [सीडीसी 6x00 के लिए पता रजिस्टर], 36-बिट पीडीपी -6, सीडीसी 6x00 के लिए 60-बिट ऑपरेंड रजिस्टर)। ऑक्टेट पात्रों / बाइट्स और पावर-ऑफ-टू शब्दों के लिए कदम हेक्साडेसिमल को अधिक आकर्षक बनाता है।
पॉल ए। क्लेटन

"क्या आप बल्कि 64 बिट्स या 16 अंकों को देखेंगे?" निश्चित रूप से मैं समूहीकृत बिट्स को देखूंगा। लेकिन couse में "01" संकेतन नहीं है, जो बदसूरत है और मेरी आँखों को चोट पहुँचाता है। और मैं यह भी नहीं बताता कि हेक्स मेरी आंखों को कितना नुकसान पहुंचाता है।
मिखाइल वी

@ मिखाइलवी: "01" अंकन से आपका क्या तात्पर्य है? आप कहते हैं कि आप बिट्स पर नहीं बल्कि "" 01 "संकेतन" में देखेंगे - तब आप किस संकेतन का उपयोग करेंगे। यदि आप कहते हैं कि हेक्स आपकी आँखों को चोट पहुँचाता है तो मैं यह सोचने में मदद नहीं कर सकता कि आपने हेक्स की तुलना में दशमलव पर थोड़ा अधिक अभ्यास किया होगा। (वास्तव में मुझे लगा कि यह (अकेला) सेक्स था जिसे आपकी आंखों के लिए बुरा कहा गया था, लेकिन यह एक और कहानी है।)
PJTraill

मैं इसे dtech के वर्तमान अधिक लोकप्रिय उत्तर के लिए पसंद करता हूं क्योंकि यह उपयोग में आसानी पर जोर देता है, लेकिन आपने बताया होगा कि न केवल कम अभ्यावेदन, बल्कि अंकों की अधिक विविधता से यह जानना आसान हो जाता है कि आप हेक्स में एक नंबर पढ़ते समय कहां हैं? अष्टाधारी।
PJTraill

@ पॉलए.केलटन: अच्छे अंक; PDP-11 पर एक और लाभ यह था कि भले ही शब्द (संचालन की प्राकृतिक इकाई) 16 बिट्स थे, अधिकांश निर्देश कोड स्वाभाविक रूप से 2-बिट ऑपरेशन में गिर गए और चार 3-बिट समूह रजिस्टर संख्या और पता मोड का प्रतिनिधित्व करते थे, जिनमें से दोनों थे 8 संभावनाएं, दो तर्कों की। मेरा पसंदीदा: 014747 = एमओवी - (पीसी), - (पीसी), जो स्वयं के साथ मेमोरी को भरता है (यदि अनुमति है)।
PJTraill


2

परिचय

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

संख्याओं के प्रतिनिधित्व पर विचार करते समय, वही लागू होता है। कंप्यूटर के अंदर, सब कुछ निम्नतम स्तर पर द्विआधारी है, हालांकि कुछ अनुप्रयोगों के लिए अजनबी प्रतिनिधित्व का उपयोग किया जा सकता है।

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

लेकिन, जब केवल अंकों , यानी संख्याओं के प्रतिनिधित्व पर विचार किया जाता है , तो यह समझने के लिए अन्य संख्या प्रतिनिधित्व प्रणालियों को देखने के लायक है कि प्रमुख कारक हैं: शरीर विज्ञान, आदत और सुविधा।सुविधा बेशक विविधता पैदा करने वाला प्रमुख कारक है, क्योंकि यह उपयोग के संदर्भ पर निर्भर करता है।

एक व्यापक रूप

यह आश्चर्यजनक है कि अब तक के सभी उत्तर केवल दशमलव और आधार विचार करते हैं2n सिस्टम हैं, ज्यादातर बाइनरी, ऑक्टल और हेक्साडेसिमल।

प्रश्न का शरीर कंप्यूटर पर किसी भी तरह से प्रतिबंधित नहीं लगता है, और मनुष्य अभी भी कई अन्य संख्यात्मक प्रणालियों का उपयोग कर रहे हैं। उनमें से कुछ का उपयोग कंप्यूटर के भीतर भी किया जाता है, उदाहरण के लिए जब लंबे पूर्णांक ( गैर पूर्णांक अंकों का उल्लेख नहीं ) के साथ काम करते हैं ।

पहली टिप्पणी यह ​​है कि जब लोग हजारों, या लाखों में एक इकाई के रूप में गिनते हैं, तब भी इसे दशमलव माना जाता है, क्योंकि ये 10. की शक्तियां हैं। इसलिए कोई भी आश्चर्यचकित हो सकता है कि क्यों ऑक्टल या हेक्साडेसिमल को केवल बाइनरी पर एक बदलाव नहीं माना जाना चाहिए। एक संभावित कारण संख्याओं का प्रतिनिधित्व करने के लिए उपयोग किए जाने वाले प्रतीकों की संख्या हो सकती है (हालांकि यह विवादित मुद्दा है, जैसा कि हम अन्य प्रणालियों के साथ देखेंगे)।

फिर, मनुष्यों के संबंध में, वे आधार 5 में कई प्रणाली का उपयोग करते हैं, जिन्हें कहा जाता है क्विनल सिस्टम है । दरअसल, इनमें से अधिकांश प्रणाली दो आधारों के साथ हैं, दूसरा 2 या 4 है, जो आधार पांच के साथ वैकल्पिक है, जो उन्हें आधार 10 (दशमलव) या आधार 20 (विगेसिमल) के बराबर बनाता है। लगता है कि जहां से आता है :)

ये डबल-बेस सिस्टम कहलाते हैं द्वि-क्विनरी या क्वाड्री-क्विनल सिस्टम है। शुद्ध क्विनाल का उपयोग शायद ही कभी किया जाता है।

रोमन अंक को द्विवार्षिक प्रणाली के रूप में देखा जा सकता है (जो उनके साथ अंकगणित करने के तरीके पर एक संकेत है)। चीनी और जापानी एबाकस द्विपदीय का उपयोग करते हैं। क्वाड्री-क्विन का उपयोग मायास द्वारा किया गया था।

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

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

लेकिन यह बिलकुल भी नहीं है।

एक बहुत पुरानी और बहुत ही सामान्य प्रणाली है सेक्सजेसिमल सिस्टम जिसका उपयोग समय और कोणों को मापने के लिए किया जाता है (लेकिन हम जानते हैं कि वे संबंधित हैं, पृथ्वी के घूर्णन के माध्यम से)। यह आधार 60 का उपयोग करता है, लेकिन 60 प्रतीकों का उपयोग नहीं करता है क्योंकि यह बहुत दूर है। तो यह अपने सिंबल (जैसे दशमलव प्रणाली) का प्रतिनिधित्व करने के लिए एक अन्य प्रणाली पर निर्भर करता है।

सर्कल को 60 डिग्री के कोणों के अनुरूप 6 भागों में विभाजित किया जा सकता है, जो समबाहु त्रिकोणों के साथ बनाने के लिए सबसे सरल हैं। फिर प्रत्येक डिग्री 60 मिनट का चाप है, प्रत्येक 60 सेकंड में विभाजित होता है।

विकिपीडिया के अनुसार

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

उत्पत्ति को ध्यान में रखते हुए यह एक बहुत सुविधाजनक प्रणाली थी, ऐसे समय में जब गणित शायद ही बचपन में प्रवेश कर रहा था। न केवल 60 only कोण को खींचना आसान है, बल्कि 60 के पास बहुत सारे कारक हैं, ताकि यह बिना किसी शेष के पूर्णांक के साथ कई तरह से विभाजित करने की अनुमति दे।

12×5=60

लेकिन 60 को प्राप्त करने के अन्य तरीके हैं, जैसे बेबीलोनियों की विगेसिमल-टर्नरी प्रणाली

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

यह ध्यान रखना दिलचस्प है कि नंबरिंग सिस्टम और यूनिट सिस्टम के बीच बहुत अंतर है। लेकिन यह उम्मीद की जानी चाहिए क्योंकि संख्या के लिए माप एक प्रमुख भूमिका है। यह स्मृति आकार के लिए दशमलव और बाइनरी मैट्रिक्स के बीच विरोध में ध्यान देने योग्य है ।


3
ऐसा इसलिए हो सकता है क्योंकि शीर्षक कहता है कि "हेक्स, ऑक्टल या हेक्साडेसिमल क्यों?"
Fizz

1
@RespawnedFluff अच्छी टिप्पणी। फिर मेरी पूछताछ प्रश्न तक बढ़ सकती है। मेरे कहने का मतलब यह नहीं था कि अन्य उत्तर निर्बाध हैं। लेकिन एक व्यापक दृष्टिकोण विभिन्न प्रणालियों के लिए संभावित प्रेरणाओं को बेहतर ढंग से दर्शाता है। यह पहले से दिए गए कुछ उत्तरों का समर्थन करता है। मूल रूप से प्रेरणा आदत और सुविधा है। लेकिन सुविधा बहुत संदर्भ-निर्भर है। मेमोरी साइज डाइकोटॉमी हाल ही में बनाई गई एक है, और यह बिंदु को स्पष्ट करती है।
बाबू

2
Brevity एक गुण है, इस प्रश्न के लिए 1000 शब्दों के गद्य की आवश्यकता नहीं है, और न ही यह बहुत प्रासंगिक है। आप प्रश्न का उत्तर देने में भी विफल रहे हैं।
dtech

"जब लोग हजारों में गिनती करते हैं, ..., यह अभी भी दशमलव माना जाता है, क्योंकि ये 10. की शक्तियां हैं। इसलिए कोई भी आश्चर्यचकित हो सकता है कि क्यों ऑक्टल या हेक्साडेसिमल को केवल बाइनरी पर एक बदलाव नहीं माना जाना चाहिए।" क्योंकि हजारों बस की चूक हैं। अंक, आमतौर पर 0 के। यह आधार-1000 से अलग है जो प्रत्येक नंबर 0-999 के लिए 1000 विभिन्न प्रतीकों का उपयोग करेगा।
dtech

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

-1

कंप्यूटर बाइनरी संख्याओं को समझते हैं और बाइनरी में, संख्याओं का वजन 2 की शक्ति में होता है, इसलिए संख्या के आधार पर किसी संख्या का प्रतिनिधित्व करने के लिए अंकों की संख्या बड़ी हो सकती है।

कहते हैं, दशमलव में 64 का प्रतिनिधित्व 7 बिट्स द्वारा किया जा सकता है जबकि संख्या 5000 का प्रतिनिधित्व करने के लिए हमें 13 बिट्स की आवश्यकता होती है।

ऑक्टल और हेक्साडेसिमल संख्या प्रणाली एक द्विआधारी संख्या का प्रतिनिधित्व करने का कॉम्पैक्ट तरीका है।


2
यह कैसे उत्तर देता है [What advantage is there to using a base different from ten or (a power of) two?]- या आप कैसे व्याख्या करते हैं Why not stick to [bases 2 and 10]??
ग्रेबर्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.