Почему например, в C++ первый элемент массива имеет индекс 0? ( Например cout << array[ 0 ]; )
А говорят, что женщины не логичные создания)))
Другие языки программирования и технологии
Почему программисты начинают счет с нуля, как если бы это была единица?
Потому что отсчет с нуля идет. Давай посчитаем!
0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0
1 0 1 0 0 0 0 0
...
0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0
1 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0
1 0 1 0 0 0 0 0
...
Всего лишь языковые соглашения. В фортране можно с чего угодно начинать, а в пайтоне arr[-1] ссылается на последний элемент
А то, что полночь в 00:00, а не в 01:01, вас не смущает?)
Кристиан Иозефи
во-во и что колобок со зверями разговаривает, тоже нормально
Евгений Амочаев
Ночь так и расшифровывается - ноль часов. значит ноль начинает отсчет и задает или переходит в единицу счета. в школах об этом не говорят.
потому, что так намного удобнее и правильнее...
Ринат Ускенбаев
чем же? 0 - означает отсутствие чего бы то ни было.
Смотря что считать. Например, предметы программисты считают как все - с единицы.
С какого числа считать индексы массива - не так уж важно, иногда удобно это делать вовсе не с 1. В некоторых языках можно задавать номер начального элемента.
В С++ так сложилось традиционно. Вероятно, это связано с тем, что язык С изначально был тесно связан с внутренним представлением данных в памяти компьютера. Имя массива по-сути представляло собой адрес начала блока памяти, выделенного под массив. А индекс, соответственно, смещение относительно этого адреса. Таким образом, первый элемент имеет смещение 0, т. е. его адрес совпадает с адресом массива.
Так что все логично, есть причины, есть определенное удобство в таком способе нумерации. Хотя, конечно, это несколько непривычно. Но не забывайте, это ведь язык компьютеров - он в любом случае будет содержать некоторые не совсем очевидные вещи )
С какого числа считать индексы массива - не так уж важно, иногда удобно это делать вовсе не с 1. В некоторых языках можно задавать номер начального элемента.
В С++ так сложилось традиционно. Вероятно, это связано с тем, что язык С изначально был тесно связан с внутренним представлением данных в памяти компьютера. Имя массива по-сути представляло собой адрес начала блока памяти, выделенного под массив. А индекс, соответственно, смещение относительно этого адреса. Таким образом, первый элемент имеет смещение 0, т. е. его адрес совпадает с адресом массива.
Так что все логично, есть причины, есть определенное удобство в таком способе нумерации. Хотя, конечно, это несколько непривычно. Но не забывайте, это ведь язык компьютеров - он в любом случае будет содержать некоторые не совсем очевидные вещи )
п/ч работают только с цифрами, чисел не знают, а у нас десятиистеричная система
А ещё у этих погромистов в одном килограмме ровно 1024 грамм.
Kenan Suleymanov
Это не у программистов, а в двоичной системе исчисления 2 в степени 10 равно 1024. Это круглое число в этой системе. Была бы троичная система исчисления, то ближайшее к 1000 круглое число было бы 3^6 = 729
многие вещи становятся проще, вроде циклических сдвигов
Потому что индекс в массиве - это смещение от начала массива. А так как первый элемент сам и является началом, то его смещение равно 0.
Проще адрес элемента массива в памяти вычислить. По самому адресу находится первый элемент, а индекс это смещение. Для первого элемента это и есть 0, для второго 1 и т. д. Пошло еще со времен когда на ассемблере проги писали.
Похожие вопросы
- Хотел с просить как у опытных программистов которые начинали тоже с нуля?
- Не поздно ли начинать программирование с нуля в 15 лет?
- Почему программисты работают на дядю, когда сами могут создавать что-то и зарабатывать за счёт этого?
- Слышал, что у программистов существует понятие отрицательного нуля (- 0). Это как?
- Почему программистам платят за количество говнокода, а не за качественный код?
- Почему программисты не считают программистами программистов 1с?
- Почему программисты, сидящие здесь, хотят, чтобы в школах вместо паскаля изучали С++ C# и т.д.?
- почему программисты не хотят учить ?
- Почему программист незнающий математику это плохой программист?
- На каком языке лучше всего начинать программировать?С нуля
напирмер, 12211221 21121112