PHP

Откуда повелось всё считать с нуля?

В чём профит? Во всём остальном мире считают 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 и так далее.
VN
Vitaliy Nikanov
21 258
Потому что 0 означает что у тебя ничего нет, но тут тебе дали доллар и ты начал считать 1 .
Евгений Тришев
Евгений Тришев
94 356
Лучший ответ
Антон Андреев Ну и куда ты положишь этот доллар))) ес но в ноль. А второй доллар в первую)))
Евгений Тришев Вот именно, если тебе дали доллар то ты ноль, к нулю прибавили 1 и получилось 1, потом тебе ещё дали, и ещё , получилось и 2 и 3 и 4.
Во-первых, о чём вопрос? Логично предположить, раз он задан в ЭТОЙ теме, что это об индексах в массивах и прочем. Так?

Во-вторых, были программы, в которых индексы начинались с единицы. Например, Fortran. Но при вычислении фактического адреса элемента массива приходилось вычитать единицу из указанного индекса. Ведь если индексация от нуля, то формула такая:
адрес по индексу = адрес начала + (индекс * размер элемента).
А если индексы считаются от единицы, то нужно добавить вычитание в эту формулу:
адрес по индексу = адрес начала + ((индекс - 1) * размер элемента).
То есть, от нуля считать проще. Потому так и приняли в большинстве современных языков. А в VBA границы вообще могут указываться программистом. Как ему удобней. Например:
Dim MyMatrix(1 To 5, 4 To 9, 3 To 5)As Double
Первый от 1 до 5, второй - от 4 до 9, а третий - от 3 до 5.

В-третьих, просто посмотри на обычную сантиметровую линейку... Сантиметры на ней тоже идут ОТ НУЛЯ. И никто не удивляется!
Если у нас множество натуральных чисел - то мы и ведём отсчёт с единицы, т. к. единица - минимальное натуральное число. Но если у нас целые числа - то минимальным неотрицательным целым числом как раз и будет ноль, а не один, потому отсчёт идёт именно с нуля. Ну а если убрать условие неотрицательности - то ноль занимает золотую середину. Да и вообще это относится не только к целым числам, а вообще к любым.
Можешь спросить у шумеров.
Олег Закиров
Олег Закиров
94 922
Никто с нуля не считает. Счёт начинается с единицы.
Vitaliy Nikanov Программисты считают.
я так понимаю пустое место считать не стоит?
В первую очередь потому, что с точки зрения реализации понятие "индекса" элемента в непрерывном агрегате напрямую связано с понятием "смещения" элемента от начала агрегата в памяти. Понятно, что смещение самого первого элемента агрегата равно нулю. Соответственно и индекс его разумно взять равным нулю.
Vitaliy Nikanov Всё равно в компиляторе можно отнимать единичку.
Спроси себя сколько тебе лет и всё поймёшь... Если тебе 20 лет, то на самом деле не двадцатый год жизни ты живёшь, а уже 21-ый, а двадцатый твой год жизни закончился, когда ты праздновал свой двадцатый день рождения...

Вот этот прикол и заставляет считать с ноля, а не с единицы...

Сейчас мы живём не в 2021 году, который закончился в ночь с 31декабря 2020 года на 1 января 2021 года.

И правильно надо бы было говорить, что сегодня мир уже прожил 2021 год и 10 месяцев и 24 дня, то есть живём мы в 2022 году на самом деле...
Дык с нуля и началось
ED
Emad Dawoud
34 676
Тут подробный ответ на вопрос, только там про си, но сути не меняет
https://coderoad.ru/7320686/Почему-индексация-начинается-с-нуля-в-C
Василий Базыко
Василий Базыко
23 232
Vitaliy Nikanov Я C не понимаю и вообще низкоуровневое программирование для гиков, но за ссылку спасибо.
Что за дискриминация ноля? Ноль тоже число! Поэтому с него и начнем считать
С нуля никто не считает, но на всех измерительных приборах и числовых лучах впринципе просто необходимо вести отсчет с нуля
Сергей Плешков
Сергей Плешков
11 909
Смещение в памяти относительно указателя на адрес памяти. Допустим есть массив из трёх элементов. И есть указатель на этот массив хранящий адрес его начала. Для первого элемента массива смещение от этого адреса равно 0, для второго 1 и тд
Так захотелось))) есть яп где отсчет идет от 1.
Это началось еще тогда, когда индусы придумали счет и какой-то гений решил обозначить пустоту нулём, как он смог доказать что ноль существует не известно
Бекболот Нурматов Это не относится к тому, что нуждается в доказательствах. Как удобно, так и придумали. Множество натуральных чисел не содержит ноль.
Но действительно были споры, можно ли ноль считать числом. Ещё были споры, имеют ли право на существование отрицательные числа. Сейчас это кажется смешным.