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