मुखपृष्ठ » कैसे » क्यों कंप्यूटर शून्य से गणना करते हैं?

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


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

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

    प्रश्न

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

    कंप्यूटर परंपरागत रूप से शून्य से शुरू होने वाले संख्यात्मक मानों को दर्शाता है। उदाहरण के लिए, C- आधारित प्रोग्रामिंग भाषाओं में सरणियाँ इंडेक्स शून्य से शुरू होती हैं.

    इसके लिए कौन से ऐतिहासिक कारण मौजूद हैं, और शून्य से गिनती करने पर व्यावहारिक फायदे क्या हैं?

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

    उत्तर

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

    0 से सरणियों की गणना प्रत्येक तत्व के मेमोरी एड्रेस की गणना को सरल बनाती है.

    यदि किसी सरणी को स्मृति में दिए गए स्थान पर संग्रहीत किया जाता है (इसे पता कहा जाता है) तो प्रत्येक तत्व की स्थिति की गणना की जा सकती है

    element (n) = पता + n * size_of_the_element 

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

    element (n) = पता + (n-1) * size_of_the_element 

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

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

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

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


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