Нумерація від нуля — метод нумерації, де першому елементу послідовності присвоюється індекс 0, а не 1. Такий метод дуже поширений в інформатиці. Також послідовності нумерації, що починаються з 0, досить поширені в математичній нотації, зокрема в комбінаториці. Ця нотація суперечить натуральним принципам пізнання, але в зазначених дисциплінах така нотація має свої переваги. Також іноді використовують термін перший у ситуаціях, навіть коли коли нумерація починається з нуля, що може привести до плутанини, Щоб запобігти плутанині цей елемент послідовності називають нульовим , або домовляються про нотацію, що нумерація починається від нуля.
В інформатиці індекси масивів можуть починатись як з 0 так і з 1, це залежить від мови програмування. В сучасних мовах програмування зазвичай починаються від 0, хоча мови програмування для математики зазвичай індексують від 1..
Іноді в математиці нумерація від нуля може використовуватись природно, коли порядкові номера мають добре визначений зміст, та елемент що передує першому елементу в цій послідовності, тобто нульовий, має той самий зміст; наприклад, нульовою похідною функції є сама функція, отримана диференціюванням нуль разів. Таке використання відповідає іменуванню елемента, який власне не належить до послідовності, але передує їй: нульова похідна взагалі не є похідною. Однак так само, як перша похідна передує другій похідній, так само нульова похідна (або сама вихідна функція) передує першій похідній.
Комп'ютерне програмування
Походження
Мартін Річардс, творець мови BCPL (попередника C ), розробив масиви, що починаються з 0 як природної позиції для початку доступу до вмісту масиву в мові, оскільки значення покажчика p використовується як адреса доступу до позиції p + 0 в пам'яті. BCPL вперше був скомпільований для IBM 7094 ; мова не запровадила непрямі пошуки під час виконання, тому оптимізацію непрямих даних, яку забезпечують ці масиви, було виконано під час компіляції. Тим не менш, оптимізація була важливою.
Пізніше Едсгер В. Дейкстра написав доречну замітку «Чому нумерація повинна починатися з нуля» у 1982 році, аналізуючи можливі конструкції індексів масиву, укладаючи їх у ланцюгову нерівність, поєднуючи чіткі ("чітка" - англ. Sharp inequality) та стандартні нерівності з чотирма можливостями, демонструючи, що на його переконання масиви з індексацією від нуля найкраще представлені діапазонами індексів, що не перекриваються, починаючи з нуля, посилаючись на відкриті, напіввідкриті та закриті інтервали, як і у випадку з дійсними числами. Критерії Дейкстри для надання переваги цій конвенції детально полягають у тому, що вона представляє порожні послідовності більш природним способом (a ≤ i < a ?), ніж замкнуті «інтервали» ( a ≤ i ≤ (a − 1) ? ), і що з напіввідкритими «інтервалами» натуральних чисел довжина підпослідовності дорівнює верхній мінус нижній межі ( a ≤ i < b дає (b − a) можливі значення для i, з усіма цілими a, b i).
Використання в мовах програмування
Таке використання випливає з вибору дизайну, вбудованого в багато важливих мов програмування, включаючи C, Java та Lisp. У цих трьох мовах типи послідовностей (масиви C, масиви та списки Java, списки та вектори Lisp) індексуються, починаючи з нульового нижнього індексу. Зокрема в C, де масиви тісно пов’язані з арифметикою вказівників, це робить реалізацію простішою: нижній індекс посилається на зміщення від початкової позиції масиву, тому перший елемент має зміщення нуль.
Посилання на пам’ять за допомогою адреси та зміщення представлено безпосередньо в комп’ютерному обладнанні практично на всіх комп’ютерних архітектурах, тому ця деталь конструкції в C полегшує компіляцію, ціною деяких людських факторів. У цьому контексті використання «нуля» як порядкового числа не є строго правильним, але широко поширеною звичкою в цій професії. Інші мови програмування, такі як Fortran або COBOL, мають нижні індекси масиву, починаючи з одиниці, оскільки вони мали на увазі як мови програмування високого рівня, і як такі вони повинні були відповідати звичайним порядковим номерам, які передували винаходу нуля протягом тривалого часу.
Pascal дозволяє діапазон масиву мати будь-який порядковий тип (включаючи перераховані типи). APL дозволяє програмно встановлювати початок індексу на 0 або 1 під час виконання. Деякі останні мови, такі як Lua та Visual Basic, прийняли ту саму конвенцію з тієї ж причини.
Нуль — це найменше ціле число без знаку, один із найфундаментальніших типів у програмуванні та розробці обладнання. Тому в інформатиці нуль часто використовується як базовий випадок для багатьох видів числової рекурсії. Доведення та інші види математичних міркувань в інформатиці часто починаються з нуля. З цих причин в інформатиці не є незвичайним нумерувати від нуля, а не від одиниці.
В останні роки ця риса також спостерігалася серед багатьох чистих математиків, де багато конструкцій визначаються як нумеровані з 0.
Якщо для представлення циклу використовується масив, зручно отримати індекс за допомогою функції модуля, результатом якої може бути нуль.
Числові властивості
За допомогою нумерації від нуля діапазон можна виразити як напіввідкритий інтервал [0, n) на відміну від закритого інтервалу [1, n]. Порожні діапазони, які часто зустрічаються в алгоритмах, складно виразити за допомогою замкнутого інтервалу, не вдаючись до простих конвенцій, таких як [1, 0]. Завдяки цій властивості індексування з нуля потенційно зменшує кількість помилок «помилка на одиницю» і «помилка телеграфного (або парканного) стовпа». З іншого боку, кількість повторів n обчислюється заздалегідь, що робить використання підрахунку від 0 до n − 1 (включно) менш інтуїтивно зрозумілим. Деякі автори віддають перевагу індексуванню з одиниці, оскільки воно більше відповідає тому, як сутності індексуються в інших контекстах.
Інша властивість цієї конвенції полягає у використанні модульної арифметики, реалізованої в сучасних комп’ютерах. Зазвичай функція модуля відображає будь-яке ціле число за модулем N на одне з чисел 0, 1, 2, ..., N − 1, де N ≥ 1. Через це багато формул в алгоритмах (наприклад, для обчислення індексів хеш-таблиці) можна елегантно виразити в коді за допомогою операції модуля, коли індекси масиву починаються з нуля.
Операції з покажчиками також можна більш елегантно виразити на індексі з нульовою базою завдяки базовій логіці адреси/зміщення, згаданій вище. Для ілюстрації припустимо, що a — адреса пам’яті першого елемента масиву, а i — індекс потрібного елемента. Щоб обчислити адресу потрібного елемента, якщо номери індексів починаються з 1, бажана адреса обчислюється за цим виразом:
- a + s × ( i − 1),
де s — розмір кожного елемента. Навпаки, якщо числа індексів починаються з 0, вираз стає
- a + s × i .
Цей простіший вираз більш ефективний для обчислення під час виконання.
Однак мова, яка бажає індексувати масиви від 1, може прийняти конвенцію, що кожна адреса масиву представлена a′ = a – s; тобто замість використання адреси першого елемента масиву така мова використовуватиме адресу фіктивного елемента, розташованого безпосередньо перед першим фактичним елементом. Тоді вираз індексації для індексу на основі 1 буде таким
- a ′ + s × i .
Отже, перевага ефективності під час виконання індексування на основі нуля не є притаманною, а є артефактом рішення представити масив адресою його першого елемента, а не адресою фіктивного нульового елемента. Однак адреса цього фіктивного елемента цілком може бути адресою якогось іншого елемента в пам’яті, не пов’язаного з масивом.
На перший погляд, фіктивний елемент погано масштабується для багатовимірних масивів. Індексація багатовимірних масивів з нуля робить наївне (безперервне) перетворення в лінійний адресний простір (систематична зміна одного індексу за іншим) виглядає простішим, ніж при індексуванні з одиниці. Наприклад, при відображенні тривимірного масиву у линійний масив L[M⋅N⋅P], обидва з елементами M⋅N⋅P , індекс r у линійному масиві дає доступ до специфічного елементу L[r] = A[z][y][x] при індексації від нуля, тобто [0 ≤ x < P], [0 ≤ y < N], [0 ≤ z < M], та [0 ≤ r < M⋅N⋅P], обчислюється за допомогою r = z⋅M⋅N + y⋅M + x. Організувавши всі масиви з індексацією від одиниці ([1 ≤ x′ ≤ P], [1 ≤ y′ ≤ N], [1 ≤ z′ ≤ M], [1 ≤ r′ ≤ M⋅N⋅P]), і припускаючи аналогічний порядок елементів, дає r′ = (z′ − 1)⋅M⋅N + (y′ − 1)⋅M + (x′ − 0) для доступу до того ж елементу, що, можливо виглядає складніше. Звичайно, r′ = r + 1, оскільки [z = z′ – 1], [y = y′ – 1], та [x = x′ – 1]. Простим і повсякденним прикладом є позиційна нотація, яка стала можливою завдяки винаходу нуля. У позиційному записі десятки, сотні, тисячі та всі інші цифри починаються з нуля, тільки одиниці починаються з одиниці.
-
Індекси починаються з Нуля xy0 1 2 .. .. 8 9 0 00 01 02 08 09 1 10 11 12 18 19 2 20 21 22 28 29 .. .. 8 80 81 82 88 89 9 90 91 92 98 99 Вміст таблиці представляє індекс r. -
Індекси починаються з Одиниці x'y'1 2 3 .. .. 9 10 1 01 02 03 09 10 2 11 12 13 19 20 3 21 22 23 29 30 .. .. 9 81 82 83 89 90 10 91 92 93 99 100 Вміст таблиці представляє індекс r′.
Така ситуація може призвести до певної плутанини в термінології. У схемі індексування на основі нуля першим елементом є «елемент номер нуль»; так само, дванадцятий елемент - "елемент номер одинадцять". Тому виникає аналогія від порядкових номерів до кількості пронумерованих предметів; найвищий індекс з n об’єктів буде n − 1 і відноситься до n -го елемента. З цієї причини перший елемент іноді називають нульовим елементом, намагаючись уникнути плутанини.
Наука
У математиці багато послідовностей чисел або поліномів індексуються цілими невід’ємними числами, наприклад, числа Бернуллі та числа Белла.
І в механіці, і в статистиці визначається нульовий момент, що представляє загальну масу у випадку фізичної щільності, або повну ймовірність, тобто одиницю, для розподілу ймовірностей.
Нульовий закон термодинаміки був сформульований після першого, другого і третього законів, але вважався більш фундаментальним, звідки і його назва.
У біології кажуть, що організм має інтенціональність нульового порядку, якщо він не виявляє «загалом жодного наміру». Це може включати ситуацію, коли генетично зумовлений фенотип організму призводить до користі для здоров’я, оскільки він не «має наміру» виражати свої гени. У подібному сенсі комп’ютер можна розглядати з цієї точки зору як інтенціональну сутність нульового порядку, оскільки він не «має наміру» виражати код програм, які він виконує.
У біологічних або медичних експериментах початкові вимірювання, зроблені до експериментального часу, вважаються зробленими у нульовий день експерименту.
У геноміці для координат геному використовуються системи як на основі 0, так і на основі 1.
Нульовий пацієнт (або індексний випадок ) є початковим пацієнтом у вибірці населення епідеміологічного дослідження.
Інші сфери
Нульовий рік не існує ні в широко використовуваному григоріанському календарі, ні в його попереднику, юліанському календарі. За цими системами за 1 роком до нашої ери слідує 1 рік нашої ери. Проте в нумерації астрономічних років є нульовий рік (де він збігається з 1 юліанським роком до н.е.) і в ISO 8601:2004 (де він збігається з 1 григоріанським роком до н.е.), а також у всіх буддійських та індуїстських календарях.
У багатьох країнах перший поверх у будівлях вважається поверх номер 0, а не як "1-й поверх", умовність найменування, яка зазвичай зустрічається в Сполучених Штатах Америки. Це створює узгоджений набір із підземними поверхами, позначеними від’ємними числами.
Хоча порядковий номер 0 здебільшого використовується в спільнотах, безпосередньо пов’язаних з математикою, фізикою та інформатикою, є також випадки в класичній музиці. Композитор Антон Брукнер вважав свою ранню симфонію ре мінор негідною включення до канону своїх творів, і написав у рахунку gilt nicht («не враховується») і поставив закреслене коло, маючи на увазі «недійсний». Але посмертно цей твір став відомий як Симфонія № 0 ре мінор, хоча насправді вона була написана після Симфонія № 1 до мінор. Існує ще більш рання Симфонія фа мінор Брукнера, яку іноді називають Симфонія № 00 (Брукнер). Російський композитор Альфред Шнітке також написав Симфонію № 0.
У деяких університетах, включаючи Оксфорд і Кембридж, "тиждень 0" або іноді "нульовий тиждень" відноситься до тижня перед першим тижнем лекцій у семестрі. В Австралії деякі університети називають це "тиждень О", який слугує каламбуром на тему "орієнтаційний тиждень". Аналогічно, вступні тижні в університетській освіті в Швеції зазвичай називаються nollning (обнулення).
Повітряні сили Сполучених Штатів починають базове навчання щосереди, а перший тиждень (з восьми) вважається, що починається з наступної неділі. Чотири дні перед неділею часто називають «нульовим тижнем».
Вразливість нульового дня - вразливість програмного забезпечення, яку було виявлено до моменту випуску ПЗ виробником.
24-годинний годинник і міжнародний стандарт ISO 8601 використовують 0 для позначення першої (нульової) години доби, відповідно до використання 0 для позначення першої (нульової) хвилини години та першої (нульової) секунди хвилини. Крім того, 12-годинний годинник, який використовується в Японії, використовує 0 для позначення години відразу після півночі та полудня на відміну від 12, що використовується в інших місцях, щоб уникнути плутанини, чи 12 am і 12 pm означає полудень або північ.
Станції King's Cross у Лондоні, Edinburgh Haymarket і станції в Упсалі, Йонаго, Стокпорті та Кардіффі мають платформу 0.
Малюнки Роберта Крамба для першого випуску Zap Comix були вкрадені, тому він намалював цілий новий випуск, який був опублікований як випуск 1. Пізніше він перефарбував свої фотокопії викрадених творів мистецтва та опублікував їх як випуск 0.
Брюссельська кільцева дорога в Бельгії має номер R0. Вона була побудована після кільцевої дороги навколо Антверпена, але Брюссель (будучи столицею) вважався заслуговуючим більш простого номера. Так само (недобудована) кільцева автострада навколо Будапешта в Угорщині називається M0.
Нуль іноді використовується в адресах вулиць, особливо в схемах, де парні числа розташовані на одній стороні вулиці, а непарні – на іншій. Прикладом є Крайст-Черч на Гарвардській площі, адреса якої "Вулиця Садова, 0".
У Формулі-1, коли чинний чемпіон світу не змагається в наступному сезоні, номер 1 не присвоюється жодному водієві, але один водій команди чемпіонів світу матиме номер 0, а інший — номер 2. Це сталося як у 1993, так і в 1994 роках, коли Деймон Хілл носив номер 0 в обох сезонах, оскільки чинний чемпіон Найджел Менселл залишив кар'єру після 1992 року, а чинний чемпіон Ален Прост залишив кар'єру після 1993 року.
Хронологічний приквел серіалу може мати номер 0, наприклад Ring 0: Birthday або Zork Zero.
Федеральні залізниці Швейцарії нумерують певні класи рухомого складу з нуля, наприклад локомотиви "Re 460" від 000 до 118.
У сфері фантастики Айзек Азімов зрештою додав нульовий закон до своїх Трьох законів робототехніки, по суті зробивши їх чотирма законами.
"Апроксимація нульового порядку" - термін, який вчені використовують для першої приблизної відповіді.
"Помилка на одиницю" - часта помилка у програмуванні, коли виконується на одну більше або на одну менше ітерацій циклу.
Джерела
- M. Seed, Graham (1965). An Introduction to Object-Oriented Programming in C++ with Applications in Computer Graphics (вид. 2nd). British Library: Springer. с. 391. ISBN . Процитовано 11 лютого 2020.
- Steve Eddins and Loren Shure. Matrix Indexing in MATLAB. Процитовано 23 лютого 2021.
- How to : Get Elements of Lists. Wolfram. Процитовано 23 лютого 2021.
- Indexing Arrays, Matrices, and Vectors. Maplesoft. Процитовано 23 лютого 2021.
- Martin Richards (1967). (PDF). Massachusetts Institute of Technology. с. 11. Архів оригіналу (PDF) за 20 січня 2013. Процитовано 1 лютого 2023.
- Mike Hoye. Citation Needed. Процитовано 28 січня 2014.
- Tom Van Vleck (1995). The IBM 7094 and CTSS. Процитовано 28 січня 2014.
- (2 травня 2008). Why numbering should start at zero (EWD 831). E. W. Dijkstra Archive. University of Texas at Austin. Процитовано 16 березня 2011.
- Brown, Jim (December 1978). In Defense of Index Origin 0. ACM SIGAPL APL Quote Quad. 9 (2): 7. doi:10.1145/586050.586053.
- Hui, Roger. Is Index Origin 0 a Hindrance?. jsoftware.com. JSoftware. Процитовано 19 січня 2015.
- Programming Microsoft® Visual C# 2005 by Donis Marshall.
- Math 1st Grade / Place Value / Number grid. Khan Academy. Процитовано 28 липня 2018.
Youtube title: Number grid / Counting / Early Math / Khan Academy
. - Byrne, Richard W. . Архів оригіналу за 18 липня 2011. Процитовано 18 травня 2010.
- Dunbar, Robin. . Архів оригіналу за 27 серпня 2010. Процитовано 18 травня 2010.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Numeraciya vid nulya metod numeraciyi de pershomu elementu poslidovnosti prisvoyuyetsya indeks 0 a ne 1 Takij metod duzhe poshirenij v informatici Takozh poslidovnosti numeraciyi sho pochinayutsya z 0 dosit poshireni v matematichnij notaciyi zokrema v kombinatorici Cya notaciya superechit naturalnim principam piznannya ale v zaznachenih disciplinah taka notaciya maye svoyi perevagi Takozh inodi vikoristovuyut termin pershij u situaciyah navit koli koli numeraciya pochinayetsya z nulya sho mozhe privesti do plutanini Shob zapobigti plutanini cej element poslidovnosti nazivayut nulovim abo domovlyayutsya pro notaciyu sho numeraciya pochinayetsya vid nulya V informatici indeksi masiviv mozhut pochinatis yak z 0 tak i z 1 ce zalezhit vid movi programuvannya V suchasnih movah programuvannya zazvichaj pochinayutsya vid 0 hocha movi programuvannya dlya matematiki zazvichaj indeksuyut vid 1 Inodi v matematici numeraciya vid nulya mozhe vikoristovuvatis prirodno koli poryadkovi nomera mayut dobre viznachenij zmist ta element sho pereduye pershomu elementu v cij poslidovnosti tobto nulovij maye toj samij zmist napriklad nulovoyu pohidnoyu funkciyi ye sama funkciya otrimana diferenciyuvannyam nul raziv Take vikoristannya vidpovidaye imenuvannyu elementa yakij vlasne ne nalezhit do poslidovnosti ale pereduye yij nulova pohidna vzagali ne ye pohidnoyu Odnak tak samo yak persha pohidna pereduye drugij pohidnij tak samo nulova pohidna abo sama vihidna funkciya pereduye pershij pohidnij Komp yuterne programuvannyaPohodzhennya Martin Richards tvorec movi BCPL poperednika C rozrobiv masivi sho pochinayutsya z 0 yak prirodnoyi poziciyi dlya pochatku dostupu do vmistu masivu v movi oskilki znachennya pokazhchika p vikoristovuyetsya yak adresa dostupu do poziciyi p 0 v pam yati BCPL vpershe buv skompilovanij dlya IBM 7094 mova ne zaprovadila nepryami poshuki pid chas vikonannya tomu optimizaciyu nepryamih danih yaku zabezpechuyut ci masivi bulo vikonano pid chas kompilyaciyi Tim ne mensh optimizaciya bula vazhlivoyu Piznishe Edsger V Dejkstra napisav dorechnu zamitku Chomu numeraciya povinna pochinatisya z nulya u 1982 roci analizuyuchi mozhlivi konstrukciyi indeksiv masivu ukladayuchi yih u lancyugovu nerivnist poyednuyuchi chitki chitka angl Sharp inequality ta standartni nerivnosti z chotirma mozhlivostyami demonstruyuchi sho na jogo perekonannya masivi z indeksaciyeyu vid nulya najkrashe predstavleni diapazonami indeksiv sho ne perekrivayutsya pochinayuchi z nulya posilayuchis na vidkriti napivvidkriti ta zakriti intervali yak i u vipadku z dijsnimi chislami Kriteriyi Dejkstri dlya nadannya perevagi cij konvenciyi detalno polyagayut u tomu sho vona predstavlyaye porozhni poslidovnosti bilsh prirodnim sposobom a i lt a nizh zamknuti intervali a i a 1 i sho z napivvidkritimi intervalami naturalnih chisel dovzhina pidposlidovnosti dorivnyuye verhnij minus nizhnij mezhi a i lt b daye b a mozhlivi znachennya dlya i z usima cilimi a b i Vikoristannya v movah programuvannya Take vikoristannya viplivaye z viboru dizajnu vbudovanogo v bagato vazhlivih mov programuvannya vklyuchayuchi C Java ta Lisp U cih troh movah tipi poslidovnostej masivi C masivi ta spiski Java spiski ta vektori Lisp indeksuyutsya pochinayuchi z nulovogo nizhnogo indeksu Zokrema v C de masivi tisno pov yazani z arifmetikoyu vkazivnikiv ce robit realizaciyu prostishoyu nizhnij indeks posilayetsya na zmishennya vid pochatkovoyi poziciyi masivu tomu pershij element maye zmishennya nul Posilannya na pam yat za dopomogoyu adresi ta zmishennya predstavleno bezposeredno v komp yuternomu obladnanni praktichno na vsih komp yuternih arhitekturah tomu cya detal konstrukciyi v C polegshuye kompilyaciyu cinoyu deyakih lyudskih faktoriv U comu konteksti vikoristannya nulya yak poryadkovogo chisla ne ye strogo pravilnim ale shiroko poshirenoyu zvichkoyu v cij profesiyi Inshi movi programuvannya taki yak Fortran abo COBOL mayut nizhni indeksi masivu pochinayuchi z odinici oskilki voni mali na uvazi yak movi programuvannya visokogo rivnya i yak taki voni povinni buli vidpovidati zvichajnim poryadkovim nomeram yaki pereduvali vinahodu nulya protyagom trivalogo chasu Pascal dozvolyaye diapazon masivu mati bud yakij poryadkovij tip vklyuchayuchi pererahovani tipi APL dozvolyaye programno vstanovlyuvati pochatok indeksu na 0 abo 1 pid chas vikonannya Deyaki ostanni movi taki yak Lua ta Visual Basic prijnyali tu samu konvenciyu z tiyeyi zh prichini Nul ce najmenshe cile chislo bez znaku odin iz najfundamentalnishih tipiv u programuvanni ta rozrobci obladnannya Tomu v informatici nul chasto vikoristovuyetsya yak bazovij vipadok dlya bagatoh vidiv chislovoyi rekursiyi Dovedennya ta inshi vidi matematichnih mirkuvan v informatici chasto pochinayutsya z nulya Z cih prichin v informatici ne ye nezvichajnim numeruvati vid nulya a ne vid odinici V ostanni roki cya risa takozh sposterigalasya sered bagatoh chistih matematikiv de bagato konstrukcij viznachayutsya yak numerovani z 0 Yaksho dlya predstavlennya ciklu vikoristovuyetsya masiv zruchno otrimati indeks za dopomogoyu funkciyi modulya rezultatom yakoyi mozhe buti nul Chislovi vlastivosti Za dopomogoyu numeraciyi vid nulya diapazon mozhna viraziti yak napivvidkritij interval 0 n na vidminu vid zakritogo intervalu 1 n Porozhni diapazoni yaki chasto zustrichayutsya v algoritmah skladno viraziti za dopomogoyu zamknutogo intervalu ne vdayuchis do prostih konvencij takih yak 1 0 Zavdyaki cij vlastivosti indeksuvannya z nulya potencijno zmenshuye kilkist pomilok pomilka na odinicyu i pomilka telegrafnogo abo parkannogo stovpa Z inshogo boku kilkist povtoriv n obchislyuyetsya zazdalegid sho robit vikoristannya pidrahunku vid 0 do n 1 vklyuchno mensh intuyitivno zrozumilim Deyaki avtori viddayut perevagu indeksuvannyu z odinici oskilki vono bilshe vidpovidaye tomu yak sutnosti indeksuyutsya v inshih kontekstah Insha vlastivist ciyeyi konvenciyi polyagaye u vikoristanni modulnoyi arifmetiki realizovanoyi v suchasnih komp yuterah Zazvichaj funkciya modulya vidobrazhaye bud yake cile chislo za modulem N na odne z chisel 0 1 2 N 1 de N 1 Cherez ce bagato formul v algoritmah napriklad dlya obchislennya indeksiv hesh tablici mozhna elegantno viraziti v kodi za dopomogoyu operaciyi modulya koli indeksi masivu pochinayutsya z nulya Operaciyi z pokazhchikami takozh mozhna bilsh elegantno viraziti na indeksi z nulovoyu bazoyu zavdyaki bazovij logici adresi zmishennya zgadanij vishe Dlya ilyustraciyi pripustimo sho a adresa pam yati pershogo elementa masivu a i indeks potribnogo elementa Shob obchisliti adresu potribnogo elementa yaksho nomeri indeksiv pochinayutsya z 1 bazhana adresa obchislyuyetsya za cim virazom a s i 1 de s rozmir kozhnogo elementa Navpaki yaksho chisla indeksiv pochinayutsya z 0 viraz staye a s i Cej prostishij viraz bilsh efektivnij dlya obchislennya pid chas vikonannya Odnak mova yaka bazhaye indeksuvati masivi vid 1 mozhe prijnyati konvenciyu sho kozhna adresa masivu predstavlena a a s tobto zamist vikoristannya adresi pershogo elementa masivu taka mova vikoristovuvatime adresu fiktivnogo elementa roztashovanogo bezposeredno pered pershim faktichnim elementom Todi viraz indeksaciyi dlya indeksu na osnovi 1 bude takim a s i Otzhe perevaga efektivnosti pid chas vikonannya indeksuvannya na osnovi nulya ne ye pritamannoyu a ye artefaktom rishennya predstaviti masiv adresoyu jogo pershogo elementa a ne adresoyu fiktivnogo nulovogo elementa Odnak adresa cogo fiktivnogo elementa cilkom mozhe buti adresoyu yakogos inshogo elementa v pam yati ne pov yazanogo z masivom Na pershij poglyad fiktivnij element pogano masshtabuyetsya dlya bagatovimirnih masiviv Indeksaciya bagatovimirnih masiviv z nulya robit nayivne bezperervne peretvorennya v linijnij adresnij prostir sistematichna zmina odnogo indeksu za inshim viglyadaye prostishim nizh pri indeksuvanni z odinici Napriklad pri vidobrazhenni trivimirnogo masivu A P N M displaystyle mathrm A P N M u linijnij masiv L M N P obidva z elementami M N P indeks r u linijnomu masivi daye dostup do specifichnogo elementu L r A z y x pri indeksaciyi vid nulya tobto 0 x lt P 0 y lt N 0 z lt M ta 0 r lt M N P obchislyuyetsya za dopomogoyu r z M N y M x Organizuvavshi vsi masivi z indeksaciyeyu vid odinici 1 x P 1 y N 1 z M 1 r M N P i pripuskayuchi analogichnij poryadok elementiv daye r z 1 M N y 1 M x 0 dlya dostupu do togo zh elementu sho mozhlivo viglyadaye skladnishe Zvichajno r r 1 oskilki z z 1 y y 1 ta x x 1 Prostim i povsyakdennim prikladom ye pozicijna notaciya yaka stala mozhlivoyu zavdyaki vinahodu nulya U pozicijnomu zapisi desyatki sotni tisyachi ta vsi inshi cifri pochinayutsya z nulya tilki odinici pochinayutsya z odinici Indeksi pochinayutsya z Nulya xy 0 1 2 x x 1 displaystyle x x 1 8 90 0 0 0 1 0 2 0 8 0 91 10 11 12 18 192 20 21 22 28 29 y y 1 displaystyle y y 1 y M x displaystyle y cdot M x 8 80 81 82 88 899 90 91 92 98 99Vmist tablici predstavlyaye indeks r Indeksi pochinayutsya z Odinici x y 1 2 3 x x 1 displaystyle x x 1 9 101 0 1 0 2 0 3 0 9 102 11 12 13 19 203 21 22 23 29 30 y y 1 displaystyle y y 1 y 1 M x displaystyle y 1 cdot M x 9 81 82 83 89 9010 91 92 93 99 100Vmist tablici predstavlyaye indeks r Taka situaciya mozhe prizvesti do pevnoyi plutanini v terminologiyi U shemi indeksuvannya na osnovi nulya pershim elementom ye element nomer nul tak samo dvanadcyatij element element nomer odinadcyat Tomu vinikaye analogiya vid poryadkovih nomeriv do kilkosti pronumerovanih predmetiv najvishij indeks z n ob yektiv bude n 1 i vidnositsya do n go elementa Z ciyeyi prichini pershij element inodi nazivayut nulovim elementom namagayuchis uniknuti plutanini NaukaU matematici bagato poslidovnostej chisel abo polinomiv indeksuyutsya cilimi nevid yemnimi chislami napriklad chisla Bernulli ta chisla Bella I v mehanici i v statistici viznachayetsya nulovij moment sho predstavlyaye zagalnu masu u vipadku fizichnoyi shilnosti abo povnu jmovirnist tobto odinicyu dlya rozpodilu jmovirnostej Nulovij zakon termodinamiki buv sformulovanij pislya pershogo drugogo i tretogo zakoniv ale vvazhavsya bilsh fundamentalnim zvidki i jogo nazva U biologiyi kazhut sho organizm maye intencionalnist nulovogo poryadku yaksho vin ne viyavlyaye zagalom zhodnogo namiru Ce mozhe vklyuchati situaciyu koli genetichno zumovlenij fenotip organizmu prizvodit do koristi dlya zdorov ya oskilki vin ne maye namiru virazhati svoyi geni U podibnomu sensi komp yuter mozhna rozglyadati z ciyeyi tochki zoru yak intencionalnu sutnist nulovogo poryadku oskilki vin ne maye namiru virazhati kod program yaki vin vikonuye U biologichnih abo medichnih eksperimentah pochatkovi vimiryuvannya zrobleni do eksperimentalnogo chasu vvazhayutsya zroblenimi u nulovij den eksperimentu U genomici dlya koordinat genomu vikoristovuyutsya sistemi yak na osnovi 0 tak i na osnovi 1 Nulovij paciyent abo indeksnij vipadok ye pochatkovim paciyentom u vibirci naselennya epidemiologichnogo doslidzhennya Inshi sferiNulovij rik ne isnuye ni v shiroko vikoristovuvanomu grigorianskomu kalendari ni v jogo poperedniku yulianskomu kalendari Za cimi sistemami za 1 rokom do nashoyi eri sliduye 1 rik nashoyi eri Prote v numeraciyi astronomichnih rokiv ye nulovij rik de vin zbigayetsya z 1 yulianskim rokom do n e i v ISO 8601 2004 de vin zbigayetsya z 1 grigorianskim rokom do n e a takozh u vsih buddijskih ta induyistskih kalendaryah U bagatoh krayinah pershij poverh u budivlyah vvazhayetsya poverh nomer 0 a ne yak 1 j poverh umovnist najmenuvannya yaka zazvichaj zustrichayetsya v Spoluchenih Shtatah Ameriki Ce stvoryuye uzgodzhenij nabir iz pidzemnimi poverhami poznachenimi vid yemnimi chislami Hocha poryadkovij nomer 0 zdebilshogo vikoristovuyetsya v spilnotah bezposeredno pov yazanih z matematikoyu fizikoyu ta informatikoyu ye takozh vipadki v klasichnij muzici Kompozitor Anton Brukner vvazhav svoyu rannyu simfoniyu re minor negidnoyu vklyuchennya do kanonu svoyih tvoriv i napisav u rahunku gilt nicht ne vrahovuyetsya i postaviv zakreslene kolo mayuchi na uvazi nedijsnij Ale posmertno cej tvir stav vidomij yak Simfoniya 0 re minor hocha naspravdi vona bula napisana pislya Simfoniya 1 do minor Isnuye she bilsh rannya Simfoniya fa minor Bruknera yaku inodi nazivayut Simfoniya 00 Brukner Rosijskij kompozitor Alfred Shnitke takozh napisav Simfoniyu 0 U deyakih universitetah vklyuchayuchi Oksford i Kembridzh tizhden 0 abo inodi nulovij tizhden vidnositsya do tizhnya pered pershim tizhnem lekcij u semestri V Avstraliyi deyaki universiteti nazivayut ce tizhden O yakij sluguye kalamburom na temu oriyentacijnij tizhden Analogichno vstupni tizhni v universitetskij osviti v Shveciyi zazvichaj nazivayutsya nollning obnulennya Povitryani sili Spoluchenih Shtativ pochinayut bazove navchannya shoseredi a pershij tizhden z vosmi vvazhayetsya sho pochinayetsya z nastupnoyi nedili Chotiri dni pered nedileyu chasto nazivayut nulovim tizhnem Vrazlivist nulovogo dnya vrazlivist programnogo zabezpechennya yaku bulo viyavleno do momentu vipusku PZ virobnikom 24 godinnij godinnik i mizhnarodnij standart ISO 8601 vikoristovuyut 0 dlya poznachennya pershoyi nulovoyi godini dobi vidpovidno do vikoristannya 0 dlya poznachennya pershoyi nulovoyi hvilini godini ta pershoyi nulovoyi sekundi hvilini Krim togo 12 godinnij godinnik yakij vikoristovuyetsya v Yaponiyi vikoristovuye 0 dlya poznachennya godini vidrazu pislya pivnochi ta poludnya na vidminu vid 12 sho vikoristovuyetsya v inshih miscyah shob uniknuti plutanini chi 12 am i 12 pm oznachaye poluden abo pivnich Stanciyi King s Cross u Londoni Edinburgh Haymarket i stanciyi v Upsali Jonago Stokporti ta Kardiffi mayut platformu 0 Malyunki Roberta Kramba dlya pershogo vipusku Zap Comix buli vkradeni tomu vin namalyuvav cilij novij vipusk yakij buv opublikovanij yak vipusk 1 Piznishe vin perefarbuvav svoyi fotokopiyi vikradenih tvoriv mistectva ta opublikuvav yih yak vipusk 0 Bryusselska kilceva doroga v Belgiyi maye nomer R0 Vona bula pobudovana pislya kilcevoyi dorogi navkolo Antverpena ale Bryussel buduchi stoliceyu vvazhavsya zaslugovuyuchim bilsh prostogo nomera Tak samo nedobudovana kilceva avtostrada navkolo Budapeshta v Ugorshini nazivayetsya M0 Nul inodi vikoristovuyetsya v adresah vulic osoblivo v shemah de parni chisla roztashovani na odnij storoni vulici a neparni na inshij Prikladom ye Krajst Cherch na Garvardskij ploshi adresa yakoyi Vulicya Sadova 0 U Formuli 1 koli chinnij chempion svitu ne zmagayetsya v nastupnomu sezoni nomer 1 ne prisvoyuyetsya zhodnomu vodiyevi ale odin vodij komandi chempioniv svitu matime nomer 0 a inshij nomer 2 Ce stalosya yak u 1993 tak i v 1994 rokah koli Dejmon Hill nosiv nomer 0 v oboh sezonah oskilki chinnij chempion Najdzhel Mensell zalishiv kar yeru pislya 1992 roku a chinnij chempion Alen Prost zalishiv kar yeru pislya 1993 roku Hronologichnij prikvel serialu mozhe mati nomer 0 napriklad Ring 0 Birthday abo Zork Zero Federalni zaliznici Shvejcariyi numeruyut pevni klasi ruhomogo skladu z nulya napriklad lokomotivi Re 460 vid 000 do 118 U sferi fantastiki Ajzek Azimov zreshtoyu dodav nulovij zakon do svoyih Troh zakoniv robototehniki po suti zrobivshi yih chotirma zakonami Aproksimaciya nulovogo poryadku termin yakij vcheni vikoristovuyut dlya pershoyi pribliznoyi vidpovidi Pomilka na odinicyu chasta pomilka u programuvanni koli vikonuyetsya na odnu bilshe abo na odnu menshe iteracij ciklu DzherelaM Seed Graham 1965 An Introduction to Object Oriented Programming in C with Applications in Computer Graphics vid 2nd British Library Springer s 391 ISBN 1852334509 Procitovano 11 lyutogo 2020 Steve Eddins and Loren Shure Matrix Indexing in MATLAB Procitovano 23 lyutogo 2021 How to Get Elements of Lists Wolfram Procitovano 23 lyutogo 2021 Indexing Arrays Matrices and Vectors Maplesoft Procitovano 23 lyutogo 2021 Martin Richards 1967 PDF Massachusetts Institute of Technology s 11 Arhiv originalu PDF za 20 sichnya 2013 Procitovano 1 lyutogo 2023 Mike Hoye Citation Needed Procitovano 28 sichnya 2014 Tom Van Vleck 1995 The IBM 7094 and CTSS Procitovano 28 sichnya 2014 2 travnya 2008 Why numbering should start at zero EWD 831 E W Dijkstra Archive University of Texas at Austin Procitovano 16 bereznya 2011 Brown Jim December 1978 In Defense of Index Origin 0 ACM SIGAPL APL Quote Quad 9 2 7 doi 10 1145 586050 586053 Hui Roger Is Index Origin 0 a Hindrance jsoftware com JSoftware Procitovano 19 sichnya 2015 Programming Microsoft Visual C 2005 by Donis Marshall Math 1st Grade Place Value Number grid Khan Academy Procitovano 28 lipnya 2018 Youtube title Number grid Counting Early Math Khan Academy Byrne Richard W Arhiv originalu za 18 lipnya 2011 Procitovano 18 travnya 2010 Dunbar Robin Arhiv originalu za 27 serpnya 2010 Procitovano 18 travnya 2010