PHP
Откуда повелось всё считать с нуля?
В чём профит? Во всём остальном мире считают 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 и так далее.
Потому что 0 означает что у тебя ничего нет, но тут тебе дали доллар и ты начал считать 1 .
Антон Андреев
Ну и куда ты положишь этот доллар))) ес но в ноль. А второй доллар в первую)))
Евгений Тришев
Вот именно, если тебе дали доллар то ты ноль, к нулю прибавили 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.
В-третьих, просто посмотри на обычную сантиметровую линейку... Сантиметры на ней тоже идут ОТ НУЛЯ. И никто не удивляется!
Во-вторых, были программы, в которых индексы начинались с единицы. Например, Fortran. Но при вычислении фактического адреса элемента массива приходилось вычитать единицу из указанного индекса. Ведь если индексация от нуля, то формула такая:
адрес по индексу = адрес начала + (индекс * размер элемента).
А если индексы считаются от единицы, то нужно добавить вычитание в эту формулу:
адрес по индексу = адрес начала + ((индекс - 1) * размер элемента).
То есть, от нуля считать проще. Потому так и приняли в большинстве современных языков. А в VBA границы вообще могут указываться программистом. Как ему удобней. Например:
Dim MyMatrix(1 To 5, 4 To 9, 3 To 5)As Double
Первый от 1 до 5, второй - от 4 до 9, а третий - от 3 до 5.
В-третьих, просто посмотри на обычную сантиметровую линейку... Сантиметры на ней тоже идут ОТ НУЛЯ. И никто не удивляется!
Если у нас множество натуральных чисел - то мы и ведём отсчёт с единицы, т. к. единица - минимальное натуральное число. Но если у нас целые числа - то минимальным неотрицательным целым числом как раз и будет ноль, а не один, потому отсчёт идёт именно с нуля. Ну а если убрать условие неотрицательности - то ноль занимает золотую середину. Да и вообще это относится не только к целым числам, а вообще к любым.
Можешь спросить у шумеров.
Никто с нуля не считает. Счёт начинается с единицы.
Vitaliy Nikanov
Программисты считают.
я так понимаю пустое место считать не стоит?
В первую очередь потому, что с точки зрения реализации понятие "индекса" элемента в непрерывном агрегате напрямую связано с понятием "смещения" элемента от начала агрегата в памяти. Понятно, что смещение самого первого элемента агрегата равно нулю. Соответственно и индекс его разумно взять равным нулю.
Vitaliy Nikanov
Всё равно в компиляторе можно отнимать единичку.
Спроси себя сколько тебе лет и всё поймёшь... Если тебе 20 лет, то на самом деле не двадцатый год жизни ты живёшь, а уже 21-ый, а двадцатый твой год жизни закончился, когда ты праздновал свой двадцатый день рождения...
Вот этот прикол и заставляет считать с ноля, а не с единицы...
Сейчас мы живём не в 2021 году, который закончился в ночь с 31декабря 2020 года на 1 января 2021 года.
И правильно надо бы было говорить, что сегодня мир уже прожил 2021 год и 10 месяцев и 24 дня, то есть живём мы в 2022 году на самом деле...
Вот этот прикол и заставляет считать с ноля, а не с единицы...
Сейчас мы живём не в 2021 году, который закончился в ночь с 31декабря 2020 года на 1 января 2021 года.
И правильно надо бы было говорить, что сегодня мир уже прожил 2021 год и 10 месяцев и 24 дня, то есть живём мы в 2022 году на самом деле...
Дык с нуля и началось
Тут подробный ответ на вопрос, только там про си, но сути не меняет
https://coderoad.ru/7320686/Почему-индексация-начинается-с-нуля-в-C
https://coderoad.ru/7320686/Почему-индексация-начинается-с-нуля-в-C
Vitaliy Nikanov
Я C не понимаю и вообще низкоуровневое программирование для гиков, но за ссылку спасибо.
Что за дискриминация ноля? Ноль тоже число! Поэтому с него и начнем считать
С нуля никто не считает, но на всех измерительных приборах и числовых лучах впринципе просто необходимо вести отсчет с нуля
Смещение в памяти относительно указателя на адрес памяти. Допустим есть массив из трёх элементов. И есть указатель на этот массив хранящий адрес его начала. Для первого элемента массива смещение от этого адреса равно 0, для второго 1 и тд
Так захотелось))) есть яп где отсчет идет от 1.
Это началось еще тогда, когда индусы придумали счет и какой-то гений решил обозначить пустоту нулём, как он смог доказать что ноль существует не известно
Бекболот Нурматов
Это не относится к тому, что нуждается в доказательствах. Как удобно, так и придумали. Множество натуральных чисел не содержит ноль.
Но действительно были споры, можно ли ноль считать числом. Ещё были споры, имеют ли право на существование отрицательные числа. Сейчас это кажется смешным.
Но действительно были споры, можно ли ноль считать числом. Ещё были споры, имеют ли право на существование отрицательные числа. Сейчас это кажется смешным.
Похожие вопросы
- как с нуля изучить php язык? подробнее расскажите, для начало что изучить html,css потом какие понадобится для php?
- Какие плюсы и минусы создания сайта с нуля?
- посоветуйте книгу для изучения PHP с нуля, желательно с легкими пояснениями
- Хочу стать программистом с нуля, мне 32. Не знаю с чего начать: какие книги, ресурсы, направления.
- Откуда берутся 18000 секунд PHP?
- Откуда при выводе строк из БД появляются дубликаты? Строки два раза выводятся + скрин
- Как Вы считаете OpenCart это хороший движок или говнокод?
- Почему PHP считают ужасным языком программирования?
- PHP считает прямой и обратный слеши в пути файла за разные символы! Что делать?
- Откуда повелось считать, что женщины эмоциональны, а мужчины разумны?