10000年問題とは? わかりやすく解説

西暦10000年問題

(10000年問題 から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/04/28 00:37 UTC 版)

西暦10000年問題(せいれきいちまんねんもんだい、西暦1万年問題)とはコンピュータの誤動作に関する年問題である。同義の呼称として、10000を意味する10Kを用いた Y10Kがある。

概要

2000年問題(Y2K問題)の解決のため、コンピュータは年を4桁であらわすのが一般的になった。しかし、西暦10000年を迎えると年数が5桁になるため、この仕様を維持し続けたままだと多くのプログラムが誤動作するという問題のことを指す。

2000年を目前にした1999年4月1日IETFは西暦10000年問題の解決に関するRFC 2550を公開した[1]。これは毎年のエイプリルフールに恒例のジョークRFCであるが、「コードやプログラムはしばしば彼らの意図した状況を超えてよく使われる」という推論からの帰結であり、また、セキュリティ対策的に重要な「いかなるデータに対しても、意図の範囲を越えるような動作をさせないこと」といった点についての技術的な洞察も含んでいる。

表記法

RFC 2550 では、Y10K問題の解決策として、年の新しい表記法は次のような特徴を持つことが望ましいとしている。

  • 既存の4桁の形式と互換性がある。
  • 10000年以降の日付を容易に識別できる。
  • ASCII順によるソートが可能。
  • 宇宙の寿命の範囲をすべて表現できる。
    • 現在の宇宙の年齢は年から年の間と推定される。
    • 宇宙の死は年から年で起こると推定される。
    • したがって、最低でも未来と過去年を表現可能とする。

上記の特徴を持つ日付表記法は固定長では実現できないため、以下のような可変長の表記法が提案されている。

西暦 1 - 9999 年

現在の4桁表記と互換性を保つため、10進数4桁で表現する。1000年以前の年号は4桁にするために、先頭に0を付ける必要がある。

西暦 10,000 - 99,999 年

5桁の年の先頭に A を付与する。つまり、西暦10,000年は A10000 西暦99,999年は A99999 となる。

ASCII順では A9 の後ろになるため、望むソート結果が得られる。

西暦 100,000 - 10 の 30 乗年

同様に 6 桁の年の先頭に B を、7桁の年の先頭に C を付ける。 ASCIIの大文字26文字で、 年までが表現可能となる(表現できる最後の年は西暦 999,999,999,999,999,999,999,999,999,999 年で、Z999999999999999999999999999999 となる)。

西暦 10 の 30 乗 - 10 の 56 乗年

現在の想定では宇宙の寿命は西暦 年よりも前に終わると予測されているが、Y2K問題の教訓から 年以降についても表現できるようにしている。

数字の年の先頭にキャレット ^ と1文字の英字を付けて表現する。^A1000000000000000000000000000000^Z99999999999999999999999999999999999999999999999999999999のように表現する。

西暦 10 の 56 乗 - 10 の 732 乗年

数字の年の先頭にキャレットを2つと2文字の英字を付ける。つまり A から Z までの26文字で表現する26進数で表現する。

具体的には ^^AA100000000000000000000000000000000000000000000000000000000から^^ZZ999..999(9が732個続く)となる。

西暦 10 の 732 乗年以降

数字の年の先頭にキャレットを3つと3文字の英字(3桁の26進数)を付ける。

これ以降も同様にキャレットと英字(26進数)を増やしていくことで、上限なく表現することが可能となる。

紀元前

紀元前については、紀元後の補数表現で表わす。具体的には、紀元後の年の表現を以下のように変換する。

  • 英字(26進数)は、その補数で置き換える。例えば AZBYCX、……、 ZAに置き換える。
  • 数字は、その補数で置き換える。例えば 091827、……、90に置き換える。
  • キャレット ^ は感嘆符 ! に置き換える。
  • 4桁の年は、先頭にスラッシュ / を追加する。
  • 感嘆符やスラッシュで始まらない年は、先頭にアスタリスク * を追加する。

例えば、紀元前1年は /9998 年となる。

脚注

  1. ^ Y10K and Beyond (英語) 1999年4月1日 2011年11月12日閲覧
    Y10K and Beyond(Y10Kとその先) (日本語) 2001年1月13日 2011年11月12日閲覧

10000年問題

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/06/09 22:51 UTC 版)

10千年紀」の記事における「10000年問題」の解説

詳細は「西暦10000年問題」を参照 日付の年を4桁二進化十進数または文字列でコード化しているソフトウェアでは、5桁の年を表現できないため、誤動作起こす可能性がある。

※この「10000年問題」の解説は、「10千年紀」の解説の一部です。
「10000年問題」を含む「10千年紀」の記事については、「10千年紀」の概要を参照ください。

ウィキペディア小見出し辞書の「10000年問題」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「10000年問題」の関連用語

10000年問題のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



10000年問題のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの西暦10000年問題 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの10千年紀 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS