オリジン

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

オリジン(origin)とは、原点のことで、主に0オリジン1オリジンが存在する。0オリジンのものは0から数え始め、1オリジンのものは1から数え始める。ちなみに0オリジン1オリジン和製英語で、英語ではzero-basedone-basedなどという。

オリジンの混在[編集]

複数のオリジンが混在する身近な例として、日時があげられる。は1オリジンであるが、は0オリジンである。時については0時のことを12時ということもあるため紛らわしいが、0時が午前と午後の境であるために0オリジンであるといえる。ただし、期間を表す場合はすべて0オリジンとなる。

また、年齢の数え方として満年齢数え年がある。ほかにも違いがあるが、それぞれの特徴として満年齢は0オリジンであり、数え年は1オリジンであることがあげられる。

プログラミング言語[編集]

プログラミング言語やそのライブラリ・API類では、両方が散在する。特に言語によって配列の先頭が0なのか1なのかはよく議論になる。配列では、C言語などは0オリジン・FORTRANは1オリジンである。BASICのように複数回の標準化で標準が変わったという言語もある(特に2回目の標準ではデフォルトの1オリジンから0オリジンに変更できるようにした。そのためVisual Basicなど現代的なBASICは両対応である)。また日付を扱うライブラリを例にすると、月日を直感的な1オリジンで扱うか、算術的に便利な0オリジンに変換するか、どちらにも得失があり混在していることもあるので注意を要する。

VBAでのオリジンの指定[編集]

以下はVisual Basic for Applicationsでオリジンを指定する例である。

Option Explicit
Option Base 1    ' 1オリジンに指定
 
Sub Foo()
    Dim bar(2) As Integer
    bar(0) = 1   ' 1オリジンの場合のみランタイムエラーが発生する
End Sub


参考文献[編集]

関連項目[編集]

外部リンク[編集]