0

出典: フリー百科事典『ウィキペディア(Wikipedia)』
2014年8月22日 (金) 22:21時点におけるJkr2255 (トーク)による版 (計算機科学における 0 の使用: lk修正)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

テンプレート:Infobox 文字 0 によって表されるものは、何もないことに対応する基数自然数[1])であり、1 の直前なる序数順序数)であって、最小の非負整数である。(れい、ぜろ)、ゼロテンプレート:Lang-en-short)、ヌルテンプレート:Lang-de-short)、ノートテンプレート:Lang-en-short)、ニヒルテンプレート:Lang-la-short)などと読まれる。また、文字の形状から、稀にまるあるいはオーなどのように呼ばれることもある。なお、日本の通話表においては、0は「数字のまる」と送られる。

数としての 0 は、整数全体、実数全体(あるいはもっと一般の数からなる代数系で)加法単位元としての役割を演じる。文字としての 0 の使用は位取りによる記数法におけるプレースホルダとして有用である。

数としての 0

01 の直前の整数である。多くの数体系で 0 は負の概念よりも前に同定され、負の概念は 0 よりも小さいものとして理解される。0 は偶数である[2]。0 は正の数でも負の数でもない。0 を自然数とする定義もあり、その場合自然数と正の整数は同義ではない。

0 は数量が空っぽであることを意味する数である。兄弟が0人いるというのは兄弟がひとりも居ないことを意味し、重さが0であるというのは重さが無いことを表す。あるいは二つの砂山の砂粒の数の差が 0 であるということは、その二つの砂粒の数の差がないことを意味する。

数を数えはじめるまえは、ものが 0 個であると仮定することができる。つまり、最初のものを数え始めるまでは 0 で、最初のものを持ってきてはじめて 1 個あると勘定することになる。ほとんどの歴史学者をはじめ世界中の人々はグレゴリオ暦ユリウス暦から紀元0年を除いて考えるが、天文学者などは計算上不都合があるため暦に紀元0年を含めて考える。また、(紀元)0年という文言は、時間における新しい起点となりうる、非常に意義深い出来事を記述する場合にも用いられることがある。

数字としての 0

現代的な数字の 0 は、まる、楕円、角の丸い長方形のような形に書かれるのが普通である。最も現代的な書体では 0 は他の数字と高さが同じになるものが普通だが、オールド・スタイルの書体では 0 の高さが他より低いもの(コーパス・サイズ)であることも多い。<div style="clear:both" />

7セグメント表示器上の小さい 0 の表示 7セグメント表示器上の通常の 0 の表示

電卓やデジタル時計、家電などで見られる7セグメントディスプレイ上では、0 は普通6個の線分で描かれるが、古いモデルでは4個の線分で 0 を表すものも存在する。<div style="clear:both" />

位取り記数法で用いられる数字の 0 は、数あるいは数値としての 0 とは別物である。位取り記数法における数字の並びは上位の桁の数字がより高い重みを持つので、位取り記数法における数字の 0 は空位を表すのに用いられ、それによって下位および上位の桁の数字に適切な重みを与えることができる。また、数字の 0 が使用されるのは位取り記数法のみに限らず、たとえば 02 番などのような数値も用いられる。

稀に、頭に 0 を付けた数値を付いていない数値と別のものとして扱うことがある。例えばルーレットで '00' は '0' とは別('0' に賭けたなら玉が '00' に止まっても勝ちにならないし、逆もそう)である。競技者に番号が振られるスポーツなども同様で、例えばストックカーで '07' 番の車は '7' 番の車とは別だと看做される。これは一桁の番号全般に言えることである。

数字の 0 と文字の O との区別

数字 0 と文字 O との字形の比較

伝統的に、多くの印刷書体では大文字の O を細い楕円形の 0 よりもさらに丸いものにしている[3]タイプライターではもともと O と 0 の字形を区別してはいなかったし、0 に対してキーを割り当てていないモデルすら存在した。これらの字形に区別がはっきりと生じるのは、コンピュータのプログラムのように明確に識別できることが必要になった[4]、現代的な文字表示装置においてである[3]

中央に点のある 0 が用いられたのは IBM 3270 表示装置の付属文字が最初であろう。この字体は Microsoft Windows でも Andalé Mono 書体に受け継がれている。点の代わりに短い縦棒を用いたものもあり、これは解像度の悪い表示画面ではギリシャ文字Θ と紛らわしいかもしれないが、Θ が表示可能な文字でなかったりともかくあまり使われないなどの理由で現実的にはそれほど問題となってはいない。

他に、斜線付きゼロ(O を / で串刺しにしたような字形)が初めて用いられたのは、パンチカードやテープに転写する前の手書きコーディングシートにおいてであり、ASR-33 テレタイプの既定タイプホイールの流れを汲む旧式の ASCII 図形文字集合においても用いられる。この字形は空集合を表す記号 <math>\scriptstyle\emptyset</math> あるいは "∅"(Unicodeで U+2205 の文字)や、いくつかのスカンジナビア語群で用いられる Ø とも似ている。CSSでは、OpenTypeフォントのfont-featureタグを用いて、0に斜線を入れることもできる[5]

逆に、文字 O に斜線をつけて数字の 0 につけない慣習を支持するのが、著名なIBMユーザーグループの SHARE であり[3]FORTRAN のプログラムの書式としてこの慣習が IBM によって推奨されている[6]。また、他のいくつかの初期のメインフレームメーカーもこれを支持している。この慣習はスカンジナビア人にとっては二つの文字の衝突を意味するため十分問題含みである。これらの他は、IBM の Algol プログラムの書式をも含め[6]、これとは逆の慣習を支持している[3]バロース/ユニシスの画面表示装置には逆斜線つき 0 を備えたものもある。別の慣習として、初期のラインプリンタでは飾りのない 0 を残したものの、大文字の O にはしっぽやひげをくわえて、逆向きの Q筆記体の大文字 O (<math>\scriptstyle\mathcal{O}</math>) のように見える字形としたものがあった[3]。とあるタイプ式のプリンタで、0 と O は別の活字になっているのに、あまりに似ていて区別ができないデザインであることに腹を立てた人が、O の活字をヤスリで加工して切れ目を入れてしまった、というエピソードもある[7]

計算機での使用を目的として設計されたフォントでは、文字 O と数字 0 の一方をより丸く他方をより(長方形に近く)角ばらせているものがある。テキサス・インスツルメンツTI-99/4A 計算機では大文字の O が四角くて数字の 0 が丸いという特徴であったが、これ以外の計算機では逆の選択がなされている。

ファイル:Deutsches Kfz-Kennzeichen für Behördenfahrzeuge (Nummernbereich 3).jpg
切込み入りの 0 を使ったドイツのナンバープレート

ヨーロッパの大部分では、車輌のナンバープレートの書体でこの方法を部分的に用いて(0 を四角くしたり、0 よりも O のほうを幅広にしたりして)これらの記号を区別しているが、国によってはさらに 0 の右上隅に切込みをいれてより明確な区別をつけているものもある(たとえば、ドイツの車輌ナンバープレートで用いられている変造防止文字 (fälschungserschwerende Schrift) など)。

時には、混乱を完全に避けるために専ら数字の 0 を用いたり逆にまったく用いなかったりすることもある。例えば、サウスウエスト航空で用いられている予約番号では数字の 0 と 1 の代わりに専ら大文字の O と I が使用されている[8]し、反対にカナダの郵便番号日本銀行券の記番号[9]では 1 と 0 が用いられるのみで、大文字の I と O は使用されていない。

歴史

0 の起源

」を表す「0」を数の対象として考える概念の発生は、数学上の飛躍的な進歩の過程の一つと考えられている。

バビロニアマヤ文明では、位取り記数法で空位を示す記号としての 0 が使われていた。バビロニアを含むメソポタミア文明六十進法、マヤは二十進法を用いており、それぞれで位が 0 であることを示す独自の記号が発明された。しかし 0 そのものを数として扱ってはいなかった。

一方、古代エジプトでは 0 の存在を知っていたが発達せず、それを表す記号もなかった。0 を四則演算などで扱うと矛盾が生ずるので、無理数同様、受け入れられなかった。

130年、プトレマイオスギリシア文字を用いた六十進法の表記において、0 を導入した。記録に残っている最も古い、数としての 0 である。ただしプトレマイオスが 0 を用いたのは分数部分(など)だけであり、整数部分()には使わなかった。

その後、インドの数学で「膨れ上がった」「うつろな」の意 テンプレート:翻字併記 (シューニャ 膨れ上がった物は中が空であるとの考え方から来ている。)すなわち数としての 0 の概念が確立された。ブラーマグプタは、628年に著した『ブラーマ・スプタ・シッダーンタ』において、0 と他の整数との加減乗除を論じ、0 / 0 を 0 と定義した以外はすべて現代と同じ定義をしている。そしてこれがアラビア数学に伝わりフワーリズミーの著作のラテン語訳 テンプレート:Lang-la-short により西欧に広まっていった。

中国では算木が紀元前から使われており、位取り記数法が確立していたが、空位は空白で表していた。算木を実際に使うときは誤解がないが、それを書写するときは紛らわしい。後に空位を「〇」と書くようになった。これはインドの「0」が輸入されたとも、元々、漢文で空白を表す「囗」が「〇」に変化したともいう。漢数字#〇、零を参照。


仏教における 0

テンプレート:Main 仏教ではシューニャ(漢訳で空)は真に実在するものではなく、その真相は空虚であると説いている。

数学における 0 の使用

初等代数学

数の 0 は最小の非負整数である。0 の後続の自然数は 1 であり、0 より前に自然数は存在しない。数 0 を自然数に含めることも含めないこともあるが、0 は整数であり、有理数であり、実数(あるいは代数的数、複素数)である。

数 0 は正でも負でもなく、素数でも合成数でも単数でもない。しかし、0は偶数である。

以下は数 0 を扱う上での初等的な決まりごとである。これらの決まりは x を任意の実数あるいは複素数として適用して構わないが、それ以外の場合については何も言及していないということについては理解されなければならない。

  • 加法: x + 0 = 0 + x = x. つまり 0 は加法に関する中立元である。
  • 減法: x − 0 = x and 0 − x = −x.
  • 乗法: x · 0 = 0 · x = 0.
  • 除法: x が 0 でなければ テンプレート:Frac = 0 である。しかし テンプレート:Frac は、0 が乗法に関する逆元を持たないために、(従前の規則の帰結としては)定義されない(ゼロ除算を参照)。実数の範囲で考えるならば、正の数 x に対し、商 テンプレート:Fracy を 0 に正の側から近づけるならば、商の値は正の無限大に向かって無限に増加する。一方 y を負の側から 0 に近づければ、商の値は負の値に近づく。言い換えれば、
    <math>x > 0 \implies \lim_{y \to 0^+} {x \over y} = +\infty</math>
    かつ
    <math>x > 0 \implies \lim_{y \to 0^-} {x \over y} = -\infty</math>
    が成立する。
  • 冪乗: x = 0 の場合にきちんと定義できないまま残される文脈があること(0の0乗を参照)を除けば、x0 = x/x = 1 である。任意の正の実数 x に対して 0x = 0 である。
  • テンプレート:Frac なる式が、テンプレート:Frac の形の式の極限を決定しようとするなかで、それぞれ独立に分子分母の極限を取った結果として現れるかもしれない。これは不定形と呼ばれる。これは単に必ずしも極限が求まらないということを意味するものではなく、むしろ テンプレート:Frac の極限は、それが存在するならば、ロピタルの定理のような別の方法によって求めるべきであるということを意味する。
  • 0 個の対象の和は 0 であり、 0 個の対象の積は 1 である。階乗 0! は 1 と評価される。

数学におけるその他の用法

  • 集合論では 0 は空集合の濃度である。ある人が林檎を一つも持っていないならば、そのひとは 0 個の林檎を持っている。実際のところ、集合論から展開されるある種の数学では 0 は空集合のこととして定義される。こう定義したとき、0 としての空集合は元を持たない集合としての空集合に対するVon Neumann cardinal assignmentであり、空集合に対する濃度は 0 個の元を持つという意味が割り当てられた値としての空集合を返す。
  • 同じく集合論で、0 は最小の順序数であり、空集合を整列集合とみなしたものに対応する。
  • 命題論理では 0 を真理値が偽であることを表すのに用いる。
  • 抽象代数学では 0 は一般に(考えている構造において定義されているならば)加法に関する中立元としての、あるいは乗法に関する吸収元としての、零元を表すのに用いられる。
  • 束論では 0 は有界束最大元を表すのに用いられる。
  • 圏論では 0 は始対象を表すのに用いられる。
  • ゲーデル数では、0は空文字列を意味する。

自然科学における 0 の使用

物理学における使用

多くの物理量において 0 は特別な値であるが、それは物理的な必然性を持って設定されることもあれば、何らかの任意の基準を適当に割り当てることもある。例えば熱力学温度における 0 度は理論的な最低温度(絶対零度)である一方、セルシウス度の 0 度は(数ある物質の中から)融点を選んで定義されている。

音の強さの単位であるデシベルホンは、基準として選んだ音の強さ(例えば、人間が聞き取れる最小の音量)を 0 と定めての相対値である。

零点振動量子力学不確定性原理)において許される最低のエネルギー状態における原子の振動である。

計算機科学における 0 の使用

人類の歴史の多くを通じて、ものは 1 から数え始めるのは当然であり、初期の計算機科学において、また FORTRANCOBOL などのプログラミング言語でも 1 から始める方式が普通であった。しかし、1950年代後半に LISP配列の要素で 0 から数える方法を採用し、さらに Algol 58 が柔軟な配列の添字(正、負、0 のいずれの整数も可)を導入して以降、多くのプログラミング言語がこれに倣うようになった。例えばC言語において、n 個の要素を持つ配列の添字は 0 から n-1 までである。こうすることで、配列の先頭アドレスに単に添字を足すだけで、その要素の位置を求めることが出来る利点がある。なお「0 始まり」と「1 始まり」が混在するケースもあり、例えば Java は言語としては 0 始まりを採用しているが、JDBC のインデックスは 1 始まりである。

ヌルポインタはどんなオブジェクトも指さないポインタである。C言語においては整数定数の 0 がポインタの文脈で解釈されるとヌルポインタとなる。これは単なる記法であり、実際には計算機環境に適合した内部表現のヌルポインタが作られる(0番地と決まっているわけではない)。0番地を指すポインタがヌルポインタとしてよく用いられていたことに由来する。

0 はしばしばコンピュータにおいて特別な意味を持つ。C言語を始めとする多くの言語では、真偽値として評価する文脈において 0 は偽を意味すると判断される(0以外の全ての値は真と判断される)。一方、プログラムが戻り値として 0 を返した場合は正常終了と見なされる事が多い。errnoなどのエラーコードにおいても 0 は「エラーでない」の意味によく割り当てられる。コードポイントの 0 ('テンプレート:Backslash0')はヌル文字であり、文字列の終端を意味する。

−0 は、数学的には 0(または +0 )と厳密に等しい数であるが、多くの浮動小数点数においては +0 と −0 で異なる表現が与えられている。また、整数でも1の補数など、表現方法によっては +0 と −0 に別の表現が与えられることがある(現代の多くのコンピュータで採用されている2の補数では区別はない)。

その他 0 に関すること

テンプレート:Main2

0 を始点とする概念

0 を始点とする概念や体系は、始点からの距離、間隔を測る場合に用いられる。主なものは以下の通り。

符号位置

記号 Unicode JIS X 0213 文字参照 名称

テンプレート:CharCode テンプレート:CharCode テンプレート:CharCode テンプレート:CharCode テンプレート:CharCode テンプレート:CharCode テンプレート:CharCode テンプレート:CharCode テンプレート:CharCode テンプレート:CharCode テンプレート:CharCode テンプレート:CharCode テンプレート:CharCode テンプレート:CharCode テンプレート:CharCode テンプレート:CharCode テンプレート:CharCode テンプレート:CharCode テンプレート:CharCode テンプレート:CharCode

脚注

テンプレート:脚注ヘルプテンプレート:Reflist

参考文献

テンプレート:FOLDOC テンプレート:Refbegin

  • 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.

テンプレート:Refend

関連図書

関連項目

テンプレート:Sister

外部リンク

  • 0 を自然数に含めるかどうかは数学者の間でも考え方は分かれており、初等数論では含めないことが多いが、集合論数学基礎論では含めることが多い。また日本の高等学校までの教育においては、自然数に含まれないとされている。本項では 0 は自然数に含まれるものとして取り扱うが、このことが大きく問題となる場面においては、逐一その取り扱いについて断る。
  • 補題 B.2.2, The integer 0 is even and is not odd, in テンプレート:Cite book
  • 3.0 3.1 3.2 3.3 3.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;」で斜線なしを指定できる。
  • 6.0 6.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
  • テンプレート:Cite web
  • 03、06、044、075、09802 などの先頭の 0 のこと。これは市外局番には含まれない。携帯電話の080、090の先頭の 0 も同様に国内プレフィックスである。よって、国外から掛ける場合は、この先頭の 0 はダイヤルしない。(例:日本国内 0460-8x-xxxx → 81-460-8x-xxxx)