Страницы

Поиск по вопросам

суббота, 21 декабря 2019 г.

Почему во многих языках индексирование начинается с 0?

#любой_язык


По-моему, это из электроники, разве нет?
С чего вообще это пошло?
    


Ответы

Ответ 1



В первую очередь потому, что с точки зрения реализации понятие "индекса" элемента в непрерывном агрегате напрямую связано с понятием "смещения" элемента от начала агрегата в памяти. Понятно, что смещение самого первого элемента агрегата равно нулю. Соответственно и индекс его разумно взять равным нулю. Другими словами, как ни верти, но индекс первого элемента в агрегате все равно придется пересчитывать в значение 0 на машинном уровне. В такой ситуации реализация индексации с ненулевой базой будет всегда волей-неволей подразумевать неявное приведение ее к индексации с нулевой базой. В многих языках программирования просто не считают необходимым это делать. Зачем, действительно?

Комментариев нет:

Отправить комментарий