たとえば検索エンジンの結果などで、何百件、何万件とあるデータを、1ページあたり25件ずつ表示する機能があったとしましょう。このとき、
1番目のページに、 1番目〜25番目のデータを表示
2番目のページに、26番目〜50番目のデータを表示
3番目のページに、51番目〜75番目のデータを表示
……という具合にデータを処理するよりも
0番目のページに、 0番目〜24番目のデータを表示
1番目のページに、25番目〜49番目のデータを表示
2番目のページに、50番目〜74番目のデータを表示
……とするほうが、ちょっとだけ計算しやすくなります。このように、0番目から始まる数え方を「0起算」といいます。1から数え始めるのは1起算です。
上の例で1起算では、データの番号から1を引いて25で割ったときの商に1を加えるとページ番号になります。たとえば51番目のデータは、(51-1)÷25+1=3なので、3ページ目です。一方、0起算の場合、データの番号を25で割ったときの商がページ番号に一致します。51番目のデータは、51÷25の商は2(余り1)なので2番目のページに表示されます。このように、0起算の方がシンプルに計算できます。
もっとも、コンピューター内部では0起算の方がシンプルだとはいっても、世間一般では1起算が広く使われている事実は変えられません。そこで、表示するときにはページの番号やデータの番号にそれぞれ1を加えます。
0番目のページ → 1ページ目として表示
1番目のページ → 2ページ目として表示
0番目のデータ → 1番目のデータとして表示
1番目のデータ → 2番目のデータとして表示
こうすることで、内部では0起算でも、利用者の目には1起算に見えます。
ところで、西暦と世紀も1起算なので2001年から2100年までが21世紀となっています。そのため、1999年から2000年に変わっても20世紀のままであり、2000年から2001年に変わったときに21世紀になる……という不自然な状況が生まれました。もし西暦0年、0世紀から始まっていれば、794年は7世紀、1192年は11世紀、2009年は20世紀……という具合に、西暦を100で割った商を求めるだけで何世紀なのか分かります。0から数え始めると、きわめて自然な考え方が通るようになるのです。
【基礎知識の最新記事】

