कंप्यूटर शून्य से क्यों गणना करते हैं?

विषयसूची:

कंप्यूटर शून्य से क्यों गणना करते हैं?
कंप्यूटर शून्य से क्यों गणना करते हैं?
Anonim
 शून्य से गिनती कई कंप्यूटर भाषाओं में एक बहुत ही आम प्रथा है, लेकिन क्यों? जैसा कि हम घटना का पता लगाते हैं और यह इतना व्यापक क्यों है, पढ़ें।
शून्य से गिनती कई कंप्यूटर भाषाओं में एक बहुत ही आम प्रथा है, लेकिन क्यों? जैसा कि हम घटना का पता लगाते हैं और यह इतना व्यापक क्यों है, पढ़ें।

आज का प्रश्न और उत्तर सत्र हमारे पास सुपरयूसर की सौजन्य है - स्टैक एक्सचेंज का एक उपविभाग, क्यू एंड ए वेब साइट्स का एक समुदाय संचालित समूह।

प्रश्न

सुपर यूज़र रीडर ड्रैगनलोर्ड इस बारे में उत्सुक है कि अधिकांश ऑपरेटिंग सिस्टम और प्रोग्रामिंग भाषा शून्य से क्यों गिना जाता है। वह लिखता है:

Computers traditionally tally numerical values starting from zero. For example, arrays in C-based programming languages start from index zero.

What historical reasons exist for this, and what practical advantages does counting from zero have over counting from one?

क्यों भला? अभ्यास के रूप में व्यापक रूप से, निश्चित रूप से इसके कार्यान्वयन के लिए व्यावहारिक कारण हैं।

उत्तर

सुपरयूसर योगदानकर्ता मैटेयो निम्नलिखित अंतर्दृष्टि प्रदान करता है:

Counting arrays from 0 simplifies the computation of the memory address of each element.

If an array is stored at a given position in memory (it’s called the address) the position of each element can be computed as

element(n) = address + n * size_of_the_element

यदि आप पहले तत्व को पहले मानते हैं, तो गणना बन जाती है

element(n) = address + (n-1) * size_of_the_element

कोई बड़ा अंतर नहीं है लेकिन यह प्रत्येक पहुंच के लिए एक अनावश्यक घटाव जोड़ता है।

जोड़ने के लिए संपादित किया गया:

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

यदि आप उत्तर में गहराई से विचार करना चाहते हैं, तो डिजस्ट्रा पेपर एक सूचनात्मक पढ़ा है।

स्पष्टीकरण में जोड़ने के लिए कुछ है? टिप्पणियों में आवाज उठाओ। अन्य तकनीक-समझदार स्टैक एक्सचेंज उपयोगकर्ताओं से अधिक उत्तरों पढ़ना चाहते हैं? यहां पूर्ण चर्चा धागा देखें।

सिफारिश की: