بہت سی کمپیوٹر زبانوں میں صفر سے گننا ایک عام سی بات ہے ، لیکن کیوں؟ پڑھیں جب ہم اس رجحان کو دریافت کرتے ہیں اور یہ اس قدر وسیع کیوں ہے۔
آج کا سوال وجواب کا سیشن ہمارے پاس سوپر یوزر کے بشکریہ ہے St اسٹیک ایکسچینج کی ایک ذیلی تقسیم ، سوال و جواب کی ویب سائٹوں کی کمیونٹی سے چلنے والی گروپ بندی۔
سوال
سپر یوزر ریڈر ڈریگن لاورڈ کو یہ جاننا ہے کہ زیادہ تر آپریٹنگ سسٹم اور پروگرامنگ زبانیں صفر سے کیوں گنتی ہیں۔ وہ لکھتا ہے:
کمپیوٹرز روایتی طور پر عددی اقدار کی صفر سے شروع ہوتی ہیں۔ مثال کے طور پر ، سی پر مبنی پروگرامنگ زبانوں میں صفیں اشاریہ صفر سے شروع ہوتی ہیں۔
اس کی کون سی تاریخی وجوہات موجود ہیں ، اور صفر سے گنتی کے عملی فوائد میں سے ایک سے زیادہ گنتی کا کیا فائدہ ہے؟
کیوں واقعی؟ جیسا کہ یہ عمل وسیع ہے ، یقینا اس کے نفاذ کی عملی وجوہات ہیں۔
جواب
سپر یوزر کا تعاون کنندہ Matteo مندرجہ ذیل بصیرت پیش کرتا ہے:
0 سے صفوں کی گنتی ہر عنصر کے میموری پتے کی گنتی کو آسان بناتی ہے۔
اگر کسی صف میں میموری کو دی گئی پوزیشن پر اسٹور کیا جاتا ہے (اسے ایڈریس کہا جاتا ہے) تو ہر عنصر کی پوزیشن کی گنتی کی جاسکتی ہے۔
عنصر (n) = پتہ + n * سائز_کا_ عنصراگر آپ پہلے عنصر کو پہلا سمجھیں تو ، حساب کتاب ہوجاتا ہے
عنصر (n) = پتہ + (n-1) * سائز_کا_اختیار_اختیاربہت بڑا فرق نہیں لیکن اس میں ہر ایک رسس کے لئے غیر ضروری گھٹاؤ کا اضافہ ہوتا ہے۔
شامل کرنے کے لئے ترمیم شدہ:
- آفسیٹ کے طور پر سرنی انڈیکس کا استعمال ضرورت نہیں ہے بلکہ صرف ایک عادت ہے۔ پہلے عنصر کی آفسیٹ کو سسٹم کے ذریعہ چھپایا جاسکتا ہے اور عنصر کو مختص کرنے اور حوالہ دیتے وقت اسے مد نظر رکھا جاتا ہے۔
- ڈجکسٹرا ایک کاغذ شائع کیا "کیوں نمبر بندی صفر سے شروع ہونی چاہئے" () پی ڈی ایف ) جہاں وہ وضاحت کرتا ہے کہ کیوں 0 سے شروع کرنا ایک بہتر انتخاب ہے۔ صفر سے شروع کرنا حدود کی بہتر نمائندگی کی اجازت دیتا ہے۔
اگر آپ جواب کی گہرائی میں تلاش کرنا چاہتے ہیں تو ، ڈجک اسٹرا پیپر ایک معلوماتی پڑھا ہوا مضمون ہے۔
وضاحت میں شامل کرنے کے لئے کچھ ہے؟ تبصرے میں آواز بند. ٹیک سیکھنے والے اسٹیک ایکسچینج کے دوسرے صارفین سے مزید جوابات پڑھنا چاہتے ہیں؟ یہاں مکمل گفتگو کے دھاگے کو چیک کریں .