0
文字 0 によって表されるものは、何もないことに対応する基数(自然数[注 1])であり、1 の直前の序数(順序数)であって、最小の非負整数である。また、−1 の次の整数でもある。零(れい、ぜろ)、ゼロ(英: zero)、ヌル(独: Null)、ノート(英: naught)、ニヒル(羅: nihil)などと読まれる。また、文字の形状から、稀にまるあるいはオーなどのように呼ばれることもある。なお、日本の通話表においては、0 は「数字のまる」と送られる。
数としての 0 は、整数全体、実数全体(あるいはもっと一般の数からなる代数系で)加法単位元としての役割を演じる。文字としての 0 の使用は位取りによる記数法におけるプレースホルダとして有用である。
Contents
数としての 0
0 は 1 の直前の整数である。多くの数体系で 0 は負の概念よりも前に同定され、負の概念は 0 よりも小さいものとして理解される。0 は偶数である[1]。0 は正の数でも負の数でもない。0 を自然数とする定義もあり、その場合自然数と正の整数は同義ではない。
0 は数量が空っぽであることを意味する数である。兄弟が0人いるというのは兄弟がひとりも居ないことを意味し、重さが0であるというのは重さが無いことを表す。あるいは二つの砂山の砂粒の数の差が 0 であるということは、その二つの砂粒の数の差がないことを意味する。
数を数えはじめるまえは、ものが 0 個であると仮定することができる。つまり、最初のものを数え始めるまでは 0 で、最初のものを持ってきてはじめて 1 個あると勘定することになる。ほとんどの歴史学者をはじめ世界中の人々はグレゴリオ暦やユリウス暦から紀元0年を除いて考えるが、天文学者などは計算上不都合があるため暦に紀元0年を含めて考える。また、(紀元)0年という文言は、時間における新しい起点となりうる、非常に意義深い出来事を記述する場合にも用いられることがある。
数字としての 0
現代的な数字の 0 は、まる、楕円、角の丸い長方形のような形に書かれるのが普通である。最も現代的な書体では 0 は他の数字と高さが同じになるものが普通だが、オールド・スタイルの書体では 0 の高さが他より低いもの(コーパス・サイズ)であることも多い。
7セグメント表示器上の小さい 0 の表示 | 7セグメント表示器上の通常の 0 の表示 |
電卓やデジタル時計、家電などで見られる7セグメントディスプレイ上では、0 は普通6個の線分で描かれるが、古いモデルでは4個の線分で 0 を表すものも存在する。
位取り記数法で用いられる数字の 0 は、数あるいは数値としての 0 とは別物である。位取り記数法における数字の並びは上位の桁の数字がより高い重みを持つので、位取り記数法における数字の 0 は空位を表すのに用いられ、それによって下位および上位の桁の数字に適切な重みを与えることができる。また、数字の 0 が使用されるのは位取り記数法のみに限らず、たとえば 02 番などのような数値も用いられる。
稀に、頭に 0 を付けた数値を付いていない数値と別のものとして扱うことがある。例えばルーレットで '00' は '0' とは別('0' に賭けたなら玉が '00' に止まっても勝ちにならないし、逆もそう)である。競技者に番号が振られるスポーツなども同様で、例えばストックカーで '07' 番の車は '7' 番の車とは別だと看做される。これは一桁の番号全般に言えることである。
数字の 0 とアルファベットの O との区別
伝統的に、多くの印刷書体では大文字の O を細い楕円形の 0 よりもさらに丸いものにしている[2]。タイプライターではもともと O と 0 の字形を区別してはいなかったし、0 に対してキーを割り当てていないモデルすら存在した。これらの字形に区別がはっきりと生じるのは、コンピュータのプログラムのように明確に識別できることが必要になった[3]、現代的な文字表示装置においてである[2]。
中央に点のある 0 が用いられたのは IBM 3270 表示装置の付属文字が最初であろう。この字体は Microsoft Windows でも Andalé Mono 書体に受け継がれている。点の代わりに短い縦棒を用いたものもあり、これは解像度の悪い表示画面ではギリシャ文字の Θ と紛らわしいかもしれないが、Θ が表示可能な文字でなかったりともかくあまり使われないなどの理由で現実的にはそれほど問題となってはいない。
他に、斜線付きゼロ(O を / で串刺しにしたような字形)が初めて用いられたのは、パンチカードやテープに転写する前の手書きコーディングシートにおいてであり、ASR-33 テレタイプのデフォルトのタイプホイールの流れを汲む旧式の ASCII 図形文字集合においても用いられる。この字形は空集合を表す記号 [math]\scriptstyle\emptyset[/math] あるいは "∅"(Unicodeで U+2205 の文字)や、いくつかのスカンジナビア語群で用いられる Ø とも似ている。CSSでは、OpenTypeフォントのfont-featureタグを用いて、0に斜線を入れることもできる[4]。Unicodeでは、バージョン9.0にて異体字セレクタを用いたシーケンスU+0030(数字0) U+FE00(VS1)で斜線付き0が定義された。
逆に、文字 O に斜線をつけて数字の 0 につけない慣習を支持するのが、著名なIBMユーザーグループの SHARE であり[2]、FORTRAN のプログラムの書式としてこの慣習が IBM によって推奨されている[5]。また、他のいくつかの初期のメインフレームメーカーもこれを支持している。この慣習はスカンジナビア人にとっては二つの文字の衝突を意味するため十分問題含みである。これらの他は、IBM の Algol プログラムの書式をも含め[5]、これとは逆の慣習を支持している[2]。 バロース/ユニシスの画面表示装置には逆斜線つき 0 を備えたものもある。別の慣習として、初期のラインプリンタでは飾りのない 0 を残したものの、大文字の O にはしっぽやひげをくわえて、逆向きの Q や筆記体の大文字 O ([math]\scriptstyle\mathcal{O}[/math]) のように見える字形としたものがあった[2]。とあるタイプ式のプリンタで、0 と O は別の活字になっているのに、あまりに似ていて区別ができないデザインであることに腹を立てた人が、O の活字をヤスリで加工して切れ目を入れてしまった、というエピソードもある[6]。
計算機での使用を目的として設計されたフォントでは、アルファベット O と数字 0 の一方をより丸く他方をより(長方形に近く)角ばらせているものがある。テキサス・インスツルメンツの TI-99/4A 計算機では大文字の O が四角くて数字の 0 が丸いという特徴であったが、これ以外の計算機では逆の選択がなされている。
ヨーロッパの大部分では、車輌のナンバープレートの書体でこの方法を部分的に用いて(0 を四角くしたり、0 よりも O のほうを幅広にしたりして)これらの記号を区別しているが、国によってはさらに 0 の右上隅に切込みをいれてより明確な区別をつけているものもある(たとえば、ドイツの車輌ナンバープレートで用いられている変造防止文字 (fälschungserschwerende Schrift) など)。
時には、混乱を完全に避けるために専ら数字の 0 を用いたり逆にまったく用いなかったりすることもある。例えば、サウスウエスト航空で用いられている予約番号では数字の 0 と 1 の代わりに専ら大文字の O と I が使用されている[7]し、反対にカナダの郵便番号や日本銀行券の記番号[8]では 1 と 0 が用いられるのみで、大文字の I と O は使用されていない。
歴史
0 の起源
紀元前2500年頃のピラミッドの幾何学的な正確性は、古代エジプト人が高度な数学を持っていたことを示す。しかし古代エジプトでは数学はおもに暦法と土地測量の手法として発展したため、零の研究は発達せず、それを表す記号もなかった。面積がゼロの土地はなく、0日めのあるカレンダーもない。よってゼロは不要であった[9]。
紀元前500年頃、楔形文字を使っていたメソポタミア文明で、位が 0 であることを示す文字が現れ始まった。六十進法を用いたバビロニアの数の表記には、古くは 0 がなく、例えば「62」と「602」は表記が全く同じで、見分けがつかなかった。これは非常に不便であったので、時代が下ると 6 と 2 の間に斜めの楔を並べて、62 と 602 の区別を表すようになった。この文字が、人類最初のゼロ記号とされている。しかし、0 自体を数のうちとして扱ってはいなかった。
古代ギリシャでは高度な数学と天文学が発展したが、ギリシャ数字は計算が非常に面倒だったので、天文学のような大がかりな計算にはバビロニアから伝わった六十進法を使った。最も古い例は130年、プトレマイオスが零と六十進法を用いて計算をした記録がある。ギリシャの数学者はこの方法で時間や角度を計算し、1時間、また角度の1度の1/60を1分、1/60分を1秒とした。しかし整数部分である1時間単位や角度そのものには零を使わず、12時の次は0時ではなく1時であった。ギリシャでは、バビロニアのゼロ記号にはギリシア文字のオミクロン「ο」を当てた。アラビア数字の0と形が似ているが、これはおそらく偶然であったとされる[10]。
アルキメデスは「ある数とある数を足せば、結果は元の数より大きくなる」という「アルキメデスの公理」を定立したが、足しても増えない性質を持つゼロは、この公理上、数ではないことになる[注 2]。古代ギリシア人は「ο」を単に小数点のような位取りを表す補助記号として使い、数のうちに含めなかった。ギリシア数字にはゼロを示す文字がなく、ギリシャの数体系を継承したローマ数字にもゼロにあたる数字がない。
古代西洋で 0 の概念が受容されなかったのは、その宇宙観によるところが大きかった。アリストテレスは「自然は真空を嫌う」と宣言し、空間は必ず何らかの物質が充満しているとして真空、つまり「無」の存在を認めなかった。またアリストテレスは、宇宙を地球を中心にする球である天球と定義し、有限なものと考えた。この哲学からは「無」と「無限」は認められなかった[11]。
アリストテレス哲学を源流とする「無」と「無限」を否定する宇宙観は中世ヨーロッパに継承され、宗教の一部と化した。17世紀まで、ヨーロッパでゼロや無限を主張することは、キリスト教への冒涜であり、死刑宣告を意味した。中世ヨーロッパではゼロを悪魔の数字とみなし、ローマ法王により使用が禁じられた[12]。1600年には、宇宙が無限であると主張した修道士のジョルダーノ・ブルーノが、異端の罪で火あぶりの刑にされている。
「無」が実在することを認め、ゼロを数として定義したのは「無」や「無限」を含む宇宙観を持ち、哲学的に「無」を追究した古代インドにおいてである。0の位置を記号で表わすバビロニアの方法はインドにも伝わった。最近になってオックスフォード大学の研究チームが、1881年に現パキスタン国内で発見されたバクシャーリー写本と呼ばれるカバノキの樹皮の巻物の数学書が、これまで考えられていたより500年古い3-4世紀頃のものであることを年代測定で特定した。そしてこの巻物に記された黒点が、インドにおける最古の0を表す文字であることになった[13][14]。
古代インドの数学で数としての「0」の概念が確立されたのは、はっきりしていないが5世紀頃とされている。数学者のブラーマグプタは、628年に著した『ブラーマ・スプタ・シッダーンタ』において、0 と他の整数との加減乗除を論じ、0 / 0 を 0 と定義した以外はすべて現代と同じ定義をしている。ゼロは「シューニャ」( संस्कृतम्: शून्य, śūnya。うつろな)と呼ばれた。9世紀頃にはグワリオール文字による「0」を含む10進法の表記体系が成立した。グワリオールの寺院の壁に残る碑銘が、グワリオール文字の「0」の最古の例とされる[13]。これがアラビアに伝播し、フワーリズミーの著作のラテン語訳 羅: Algoritmi de numero Indorum により「アラビア数学」の「0」として西欧に広まっていった。
中国では算木が紀元前から使われており、位取り記数法が確立していたが、空位は空白で表していた。算木を実際に使うときは誤解がないが、それを書写するときは紛らわしい。後に空位を「〇」と書くようになった。これはインドの「0」が輸入されたとも、元々、漢文で空白を表す「囗」が「〇」に変化したともいう。漢数字#〇、零を参照。
数学における 0 の使用
初等代数学
数の 0 は最小の非負整数である。0 の後続の自然数は 1 であり、0 より前に自然数は存在しない。数 0 を自然数に含めることも含めないこともあるが、0 は整数であり、有理数であり、実数(あるいは代数的数、複素数)である。
数 0 は正でも負でもなく、素数でも合成数でも単数でもない。一方、0 は偶数である。
以下は数 0 を扱う上での初等的な決まりごとである。これらの決まりは x を任意の実数あるいは複素数として適用して構わないが、それ以外の場合については何も言及していないということについては理解されなければならない。
- 加法: x + 0 = 0 + x = x. つまり 0 は加法に関する単位元である。
- 減法: x − 0 = x, 0 − x = −x.
- 乗法: x · 0 = 0 · x = 0.
- 除法: x が 0 でなければ 0⁄x = 0 である。しかし x⁄0 は、0 が乗法に関する逆元を持たないために、(従前の規則の帰結としては)定義されない(ゼロ除算を参照)。実数の範囲で考えるならば、正の数 x に対し、商 x⁄y の y を 0 に正の側から近づけるならば、商の値は正の無限大に向かって限りなく増加する。一方 y を負の側から 0 に近づければ、商の値は負の無限大に向かって限りなく減少する。記号で書けば、[math]\begin{align} x \gt 0 &\implies \lim_{y \to 0^+} {x \over y} = +\infty, \\ x \gt 0 &\implies \lim_{y \to 0^-} {x \over y} = -\infty \end{align}[/math]が成立する。
- 冪乗: x = 0 の場合にきちんと定義できないまま残される文脈があること(0の0乗を参照)を除けば、x0 = 1 である。任意の正の実数 x に対して 0x = 0 である。
- 0⁄0 なる式が、f(x)⁄g(x) の形の式の極限を決定しようとするなかで、それぞれ独立に分子分母の極限を取った結果として現れるかもしれない。これは不定形と呼ばれる。これは単に必ずしも極限が求まらないということを意味するものではなく、むしろ f(x)⁄g(x) の極限は、それが存在するならば、ロピタルの定理のような別の方法によって求めるべきであるということを意味する。
- 0 個の対象の和は 0 であり、 0 個の対象の積は 1 である。階乗 0! は 1 と評価される。
- 0 = 13 − 12 = 03 − 02、次は4。(オンライン整数列大辞典の数列 A045991)
- フィボナッチ数列では、0 は 1 の前者である。
- 図形数では、1 の前に 0 を含めることがある。
- 1桁は全て回文数である。そのため、0 も回文数である。
数学におけるその他の用法
- 集合論では 0 は空集合の濃度である。ある人が林檎を一つも持っていないならば、そのひとは 0 個の林檎を持っている。実際のところ、集合論から展開されるある種の数学では 0 は空集合のこととして定義される。こう定義したとき、0 としての空集合は元を持たない集合としての空集合に対するフォンノイマンの基数割り当てであり、空集合に対する濃度は 0 個の元を持つという意味が割り当てられた値としての空集合を返す。
- 同じく集合論で、0 は最小の順序数であり、空集合を整列集合とみなしたものに対応する。
- 命題論理では 0 を真理値が偽であることを表すのに用いる。
- 抽象代数学では 0 は一般に(考えている構造において定義されているならば)加法に関する単位元としての、あるいは乗法に関する吸収元としての、零元を表すのに用いられる。
- 同じく抽象代数学において、零元のみからなる部分代数系 {0} を 0 で表すことがある。(零対象 (代数学)も参照)
- 束論では 0 は有界束の最大元を表すのに用いられる。
- 圏論では 0 は圏の始対象(特に零対象)を表すのに用いられる。
- ゲーデル数では、0 は空文字列を意味する。
自然科学における 0 の使用
物理学における使用
多くの物理量において 0 は特別な値であるが、それは物理的な必然性を持って設定されることもあれば、何らかの任意の基準を適当に割り当てることもある。例えば熱力学温度における 0 度は理論的な最低温度(絶対零度)である一方、セルシウス度の 0 度は(数ある物質の中から)水の融点を選んで定義されている。
音の強さの単位であるデシベルやホンは、基準として選んだ音の強さ(例えば、人間が聞き取れる最小の音量)を 0 と定めての相対値である。
零点振動は量子力学(不確定性原理)において許される最低のエネルギー状態における原子の振動である。
コンピュータにおける 0 の使用
初期の、FORTRAN や COBOL などのプログラミング言語では、配列の添字は 1 から始める方式であった(「1オリジン」という)。しかし、1950年代後半の時点で既に ALGOL 58 が柔軟な配列の添字(正、負、0 のいずれの整数も可)を導入している。現代の多くの言語は「0オリジン」であり、例えばC言語では、n 個の要素を持つ配列の添字は 0 から n-1 までである。0オリジンには、配列の先頭アドレスに単に添字を足すだけで、その要素の位置を求めることが出来る利点がある。一方でBASICのように、古い標準(JIS C 6207-1982「基本BASIC」)では0オリジンだったのに、新しい標準(JIS X 3003:1993「Full BASIC」)では(変更可能だが)1オリジンがデフォルト、と逆行した例もある。
ヌルポインタはどんなオブジェクトも指さないポインタである。C言語においては整数定数の 0 がポインタの文脈で解釈されるとヌルポインタとなる。これは単なる記法であり、実際には計算機環境に適合した内部表現のヌルポインタが作られる(0番地と決まっているわけではない)。
0 はしばしばコンピュータにおいて特別な意味を持つ。C言語を始めとする多くの言語では、真偽値として評価する文脈において 0 は偽を意味すると判断される(0以外の全ての値は真と判断される)。一方、プログラムが戻り値として 0 を返した場合は正常終了と見なされる事が多い。errnoなどのエラーコードにおいても 0 は「エラーでない」の意味によく割り当てられる。コードポイントの 0 ('\0')はヌル文字であり、文字列の終端を意味する。
−0 は、普通の算術では 0 とまったく同じものであるが、1の補数など、表現方法によっては別の表現が与えられることがある(現代の多くのコンピュータで採用されている2の補数では区別はない)。また、多くの浮動小数点数では、-0.0 は別のものとして扱われることがある(詳細は「IEEE 754における負のゼロ」の記事を参照)。
0 を始点とする概念
0 を始点とする概念や体系は、始点からの距離、間隔を測る場合に用いられる。主なものは以下の通り。
符号位置
記号 | Unicode | JIS X 0213 | 文字参照 | 名称 |
---|---|---|---|---|
0 | U+0030 |
1-3-16 |
0 0 |
DIGIT ZERO |
0 | U+FF10 |
1-3-16 |
0 0 |
FULLWIDTH DIGIT ZERO |
〇 | U+3007 |
1-1-27 |
〇 〇 |
IDEOGRAPHIC NUMBER ZERO |
⁰ | U+2070 |
- |
⁰ ⁰ |
SUPERSCRIPT ZERO |
₀ | U+2080 |
- |
₀ ₀ |
SUBSCRIPT ZERO |
٠ | U+0660 |
- |
٠ ٠ |
ARABIC-INDIC DIGIT ZERO |
۰ | U+06F0 |
- |
۰ ۰ |
EXTENDED ARABIC-INDIC DIGIT ZERO |
༠ | U+0F20 |
- |
༠ ༠ |
TIBETAN DIGIT ZERO |
๐ | U+0E50 |
- |
๐ ๐ |
THAI DIGIT ZERO |
🄀 | U+1F100 |
- |
🄀 🄀 |
DIGIT ZERO FULL STOP |
⓪ | U+24EA |
- |
⓪ ⓪ |
CIRCLED DIGIT ZERO |
⓿ | U+24FF |
- |
⓿ ⓿ |
NEGATIVE CIRCLED DIGIT ZERO |
🄋 | U+1F10B |
- |
🄋 🄋 |
DINGBAT CIRCLED SANS-SERIF DIGIT ZERO |
🄌 | U+1F10C |
- |
🄌 🄌 |
DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ZERO |
零 | U+96F6 |
1-46-77 |
零 零 |
CJK Ideograph, zero; fragment, fraction |
🄁 | U+1F101 |
- |
🄁 🄁 |
DIGIT ZERO COMMA |
𝟘 | U+1D7D8 |
- |
𝟘 𝟘 |
MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO |
𝟶 | U+1D7F6 |
- |
𝟶 𝟶 |
MATHEMATICAL MONOSPACE DIGIT ZERO |
𝟎 | U+1D7CE |
- |
𝟎 𝟎 |
MATHEMATICAL BOLD DIGIT ZERO |
𝟢 | U+1D7E2 |
- |
𝟢 𝟢 |
MATHEMATICAL SANS-SERIF DIGIT ZERO |
𝟬 | U+1D7EC |
- |
𝟬 𝟬 |
MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO |
他の表現法
関連図書
脚注
注
出典
- ↑ 補題 B.2.2, The integer 0 is even and is not odd, in Penner, Robert C. (1999). Discrete Mathematics: Proof Techniques and Mathematical Structures. World Scientific, 34. ISBN 9810240880.
- ↑ 2.0 2.1 2.2 2.3 2.4 R. W. Bemer. "Towards standards for handwritten zero and oh: much ado about nothing (and a letter), or a partial dossier on distinguishing between handwritten zero and oh". Communications of the ACM, Volume 10, Issue 8 (August 1967), pp. 513–518.
- ↑ 特にFortranの言語仕様では、0 と O の取り違えがエラーではなく、意図しない意味として通ってしまいやすかった。
- ↑ 対応フォントとブラウザの両方が必要。「font-feature-settings:'zero' 1;」で斜線あり、「font-feature-settings:'zero' 0;」で斜線なしを指定できる。
- ↑ 5.0 5.1 Bo Einarsson and Yurij Shokin. Fortran 90 for the Fortran 77 Programmer. Appendix 7: "The historical development of Fortran"
- ↑ 『計算機科学の発想』(1981) p. 181
- ↑ confirmation numbers
- ↑ “お札の紹介”. 国立印刷局. . 2013閲覧.
- ↑ チャールズ サイフェ 『異端の数 ゼロ』2003 新潮社 p15
- ↑ サイフェ p15
- ↑ サイフェ p47、p55
- ↑ なぜ、0で割ってはいけないか
- ↑ 13.0 13.1 最古の「ゼロ」文字、3~4世紀のインド書物に 英大学が特定(Yahoo!ニュース)
- ↑ カラパイア 2017年09月22日
参考文献
この記事は2008年11月1日までGFDLバージョン1.3以降の再ライセンス規約に基づいていたFree On-line Dictionary of Computingにある項目の資料が元になっている。
- Barrow, John D. (2001) The Book of Nothing, Vintage. ISBN 0-09-928845-1.
- Diehl, Richard A. (2004) The Olmecs: America's First Civilization, Thames & Hudson, London.
- Ifrah, Georges (2000) The Universal History of Numbers: From Prehistory to the Invention of the Computer, Wiley. ISBN 0-471-39340-1.
- Kaplan, Robert (2000) The Nothing That Is: A Natural History of Zero, Oxford: Oxford University Press. (邦訳『ゼロの博物誌』松浦俊輔訳 河出書房新社 ISBN 4-309-25157-9 )
- Seife, Charles (2000) Zero: The Biography of a Dangerous Idea, Penguin USA (Paper). ISBN 0-14-029647-6.
- Bourbaki, Nicolas (1998). Elements of the History of Mathematics. Berlin, Heidelberg, and New York: Springer-Verlag. ISBN 3540647678.
関連項目
- 00 (曖昧さ回避)
- −0(マイナスゼロ)
- 数 (文法)
- 数論
- ペアノの公理
(0) | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |
40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 |
50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 |
60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 |
70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 |
80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 |
90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 |
|
外部リンク
- A History of Zero
- Zero Saga
- The Discovery of the Zero
- The History of Algebra
- Edsger W. Dijkstra: Why numbering should start at zero, EWD831 (PDF of a handwritten manuscript)
- "Zeroes" Song parody
- "My Hero Zero" Educational children's song in Schoolhouse Rock!