先頭ゼロとは、位取り記数法における数値列の最初のゼロ以外の数字の前に来る任意のゼロ のことです。[ 1 ]例えば、ジェームズ・ボンドの有名な識別子である007には、先頭ゼロが2つあります。[ 2 ]小数点より前の最初のゼロ以外の数字の左側に現れるゼロは、その値に影響を与えず、情報を失うことなく省略(または空白に置き換える)ことができます。 [ 3 ]したがって、通常の整数の10進表記では、1の位のゼロを除いて先頭ゼロは使用されません。それ以外の場合は、空の文字列として表されます。[ 4 ]ただし、小数点以下の桁については、小数点と最初のゼロ以外の桁の間の先頭のゼロは数値の大きさを伝えるために必要であり、省略することはできません (例: 0.001)、[ 1 ]一方、末尾のゼロ(小数点の後と最後のゼロ以外の桁の後に現れるゼロ) は意味を変えずに省略できます (例: 0.00100)。

先頭のゼロは、非電子式のデジタルディスプレイや、固定された桁数を持つ7セグメントディスプレイなどの電子式ディスプレイによく見られます。これらのデバイスには、手動カウンター、ストップウォッチ[ 5 ] 、オドメーター[ 6 ]、デジタル時計[ 5 ]などがあります。また、多くの古いコンピュータプログラムでは、新しいレコード、アカウント、その他のファイルに割り当てる値を作成する際に先頭のゼロが生成されるため、公共料金請求システム、人事情報システム、政府データベースなどで使用されている可能性があります。多くのデジタルカメラやその他の電子メディア記録デバイスは、ファイル名の長さを揃えるために、新しいファイルを作成および保存する際に先頭のゼロを使用します。
先頭ゼロは、技術システムによって桁数が固定されている場合(メモリレジスタなど)にも存在しますが、格納された値が最大桁がゼロ以外になるほど大きくない場合にも存在します。[ 7 ]先頭ゼロカウント操作は、マシンワード内の先頭ゼロビットの数を効率的に決定します。[ 8 ]
先頭のゼロには、さまざまな意味があります。
アメリカのルーレットでは先頭にゼロが付き、「00」は「0」とは区別されます(「0」に賭けても、ボールが「00」に止まれば勝ちになりませんし、その逆も同様です)。競技者に番号が付けられるスポーツでも、このルールが適用されます。例えば、「07」の番号のストックカーは、「7」の番号のストックカーとは区別されます。メジャーリーグベースボールの捕手で、数年間「09」の番号を着用していたベニート・サンティアゴは、先頭にゼロが付いた背番号を使用した唯一のメジャープロスポーツリーグの選手です(「00」の番号を着用した選手は数名いますが、彼は捕手用パッドとの干渉を避けるために余分なゼロを付け、バックストラップが数字の「9」の上ではなく、数字の間を通るようにしました)。デニス・ロッドマンはシカゴ・ブルズに入団した際に「01」の番号を希望しましたが(普段の「10」の番号はすでに永久欠番になっていたため)、NBAがこれを禁止したため、ロッドマンは代わりに「91」を着用しました。[ 9 ]
米国以外のほとんどの国では、0から1までの数値を小数で表す場合、小数点の前にゼロが付きます(例:0.64、多くの国では0,64)。一方、米国ではこのゼロは省略されることがよくあります。
先頭のゼロは、数値の昇順をアルファベット順と一致させるために使用されます。たとえば、11 はアルファベット順で 2 より前に来ますが、02 より後になります。(たとえば、ISO 8601を参照してください。)ただし、先頭のゼロを使用するかどうかにかかわらず、負の数にはこの方法は適用されません。 − 23 は、−01、−1、−22 より小さいにもかかわらず、アルファベット順でそれらより後になります。
文頭にゼロを付けることで、不注意な読者が小数点を見落とす可能性も低くなります。たとえば、現代の薬学では、薬剤処方における用量や投与量値から小数点前のゼロを省略してはならないという慣習が広く採用されています(例:0.2 mg を使用し、.2 mgは使用しない)。一方、末尾のゼロは禁止されています(例:2 mg を使用し、 2.0 mgは使用しない)。どちらの場合も、読み間違いとそれに伴う1桁または数桁の誤投与を防ぐことが目的です。[ 10 ]
先頭のゼロは、通常は空欄となる文字位置を埋めることで、不正行為を防止するためにも使用できます。例えば、小切手(または同様の金融書類)の金額に先頭のゼロを追加することで、詐欺師が支払い前に小切手の金額を改ざんすることがより困難になります。
C0では、ライブラリ内の関数 (文字列を長整数に変換する)のANSI C標準で要求されているように、8 進数の文字列表現を指定するためにプレフィックスが使用されます。[ 11 ] Python、Perl、Ruby、PHP、Unix シェルbashなど、他の多くのプログラミング言語も、文字列を数値に変換するためにこの仕様に従います。たとえば、「」は 20 10 (2×10 1 + 0×10 0 ) ではなく、20 8 = 16 10 (2×8 1 + 0×8 0 = 1×10 1 + 6×10 0 ) を表します。先頭にゼロを付けて書かれた 10 進数は、この規則に従う言語では 8 進数として解釈され、8 進数には存在しない数字「8」または「9」が含まれている場合はエラーが発生します。この動作は、アルファベット順のソートを容易にするために(上記参照)、ゼロ埋めされた小数値が埋め込まれた文字列のシーケンス(通常はファイル名)を扱う場合や、先頭にゼロを追加すると基数変換がトリガーされることを知らないユーザーからの入力を検証する場合に、厄介な問題となる可能性があります。strtol()<stdlib.h>0020

チェコ共和国では、かつてはゼロを接頭辞として、家屋番号の種類を示す方法の一つとして用いられていました。標準的な家屋番号としては、徴兵住宅番号(čísla popisná)が使用されています。しかし、一時的な建物やレクリエーション施設には、特別な登録住宅番号(čísla evidenční)が用いられます。この番号は、接頭辞(0、E、N)、識別用のテキストや略語、または標識の色によって区別されます。