Казалось бы, ноль - это ничего. Но почему тогда в программирование принято, что нот - это первый шаг для отсчета? Почему не единица? Разве не логичнее было бы?
Неактивен
Казалось бы, ноль - это ничего. Но почему тогда в программирование принято, что нот - это первый шаг для отсчета? Почему не единица? Разве не логичнее было бы?
Потому что иначе теряется одно значение. А в программировании это важно.
Неактивен
Казалось бы, ноль - это ничего.
Рекомендую покурить темы из начальной математики натуральные и целые числа.
В детстве я молил бога о велосипеде;
потом понял что бог работает по-другому...
я украл велосипед и стал молить бога о прощении.
Аль Пачино
Неактивен
Ребёнок когда рождается, ему 0 лет. И только через год будет 1 год.
Случайности не случайны.
Неактивен
straus, как я понимаю ноль это все же ничто. Или нет? Просто только что статью про ноль читал и отсюда такой вопрос возник.
Okkamas Buddy, ну в теории логично, только считаем то мы всегда в жизни с одного т.е. если ничего нет, то это нельзя сосчитать.
Неактивен
если ничего нет, то это нельзя сосчитать.
Ну... лет нет, а ребёнок - есть. Вот такой парадокс.
А вообще, с нуля, если строить аналогии, считают, потому что надо учитывать, что при подсчёте количества яиц в корзине их отсутствие - тоже количество. IRL это нечасто бывает важно, а в компьютере - сплошь и рядом. Сколько, например, в пустом массиве элементов?
PS: В Pascal массивы нумеруются с 1. )
Для Director-cemetery: Пока не почешетесь извиниться, Ваши комментарии буду игнорировать.
Для Rector: В дальнейшем буду Вас просто игнорировать.
Неактивен
Подразумеваем первый элемент, но по нулевому смещению от начала массива, т.е. в языках с прямым доступом к памяти - без вариантов
Бывает, новые пользователи перезагружают компьютер, потому что не знают, как ещё можно выйти из vi
Ну ты пруфами не сыпь © Skynet2015
Провокатор хуев -) Я к тебе в твою конторку инсайдера зашлю, ты даже не узнаешь в какой момент тебя поимели -) © Rector, 2010-2015
Неактивен
straus, как я понимаю ноль это все же ничто. Или нет? Просто только что статью про ноль читал и отсюда такой вопрос возник.
Нет, ноль - это ноль, а ничего - это ничего.
ну в теории логично, только считаем то мы всегда в жизни с одного т.е. если ничего нет, то это нельзя сосчитать
Скажите, а "-1" как cосчитать, а "-1,5", а sqrt(2), а 1+2i? Облать применения натурального множества даже в жизни домохозяйки ограничена.
В детстве я молил бога о велосипеде;
потом понял что бог работает по-другому...
я украл велосипед и стал молить бога о прощении.
Аль Пачино
Неактивен
straus, как я понимаю ноль это все же ничто
В программировании ноль это не ничто, а такое же число как все остальные.
PS: В Pascal массивы нумеруются с 1.
Неа, тоже с 0, по умолчанию. А вообще - можно задать с какого хочешь числа, например вот такой массив:
array[5..10] of Integer
будет нумероваться с 5.
С 1 там нумеруются символы в строках, да и то потому что строка в Pascal это массив где первый элемент хранит длину строки, а символы - начиная со второго (поэтому и нумеруются с 1).
Windows == УМВР
Неактивен
В асме когда обращаешься к памяти [eax] - обращаешься к первому байту. [eax+1] - второму. Вот так и получается
[eax] -> [0]
[eax+1] -> [1]
Неактивен
проблема не в нуле Luca, проблема в человеке.
Человек привык считать от 1 до 10, потому что у него столько пальцев. Человеку всё равно, сколько информации содержит 10 одни или 2 символа, ему удобней.
Компьютер не человек и он не понимает термины удобно-неудобно. У него есть некоторый объем информации например 1 байт. В этот объём вмещается 256 натуральных чисел от 0 до 255 (00-FF). Зачем программисту "терять" лишнее значение используя нумерацию по принципу "удобно", внося в код дополнительную путаницу.
я не умею ставить подписи
Неактивен
judas, да, но, это все впитали и другие языки программирования. К примеру, такие скриптовые языки, как руби или питон, для них 20 мб памяти это вообще ничто. Но, нумерация элементов от нуля.
Неактивен
В некоторых диалектах Бейсика нумерация массивов была с единицы.
помнится такое, в прошедшем тысячелетии было )
В паскале например строчки до сих пор начинаются с единицы (string)
я не умею ставить подписи
Неактивен
В паскале например строчки до сих пор начинаются с единицы (string)
Т.к. в нулевом байте - длина строки
Бывает, новые пользователи перезагружают компьютер, потому что не знают, как ещё можно выйти из vi
Ну ты пруфами не сыпь © Skynet2015
Провокатор хуев -) Я к тебе в твою конторку инсайдера зашлю, ты даже не узнаешь в какой момент тебя поимели -) © Rector, 2010-2015
Неактивен
Т.к. в нулевом байте - длина строки
Т.е. в паскале нельзя сделать строку длиной 100h бит? Даже в асме и то можно
Неактивен
Т.е. в паскале нельзя сделать строку длиной 100h бит?
В обычном - нет, длина строки по умолчанию 255 символов, можно увеличить специальной командой (скорее всего, ей просто заводится отдельная константа). В Delphi можно.
https://nolinux.w2c.ru - море баттхерта и деаонимизации
Неактивен
Даже в асме и то можно
Что значит даже? Всё, что можно сделать в любом языке программирования, можно сделать и в асме, и даже больше. Вопрос только в затратах времени на это. А вообще то такие понятия как символьная или числовая переменная к асму не применимы.
Yesterday it worked.
Today it is not working.
Windows is like that.
Неактивен
Что значит даже? Всё, что можно сделать в любом языке программирования, можно сделать и в асме, и даже больше. Вопрос только в затратах времени на это. А вообще то такие понятия как символьная или числовая переменная к асму не применимы.
В асме вообще нет переменных, только регистры, только адреса памяти, только хардкор
Неактивен
потому что так исторически сложилось с языка С.
есть переменная myvar - указатель, замечу.
можно обратиться к myvar[0], и к myvar[1], и вообще с любым натуральным смещением.
какой элемент логичнее считать отправным для массива? конечно, [0].
"Фу бля, крохобор вонючий" (с) Svart Testare
Неактивен