今日は誰かが何かをした日
今日は誰かが何かをした日
平凡な日でも、過去には誰かが何かをしているものだ
今日は初の2038年問題により、ATMの誤作動が起こった日。
2038年問題(にせんさんじゅうはちねんもんだい)は、2038年1月19日3時14分7秒(UTC)を過ぎると、コンピュータが誤動作する可能性があるとされる問題。
標準的なC言語の実装では、時刻の表現形式として1970年1月1日0時0分0秒(UTC)からの経過秒数を使用している。これはUNIXの仕様に由来するもので、time_t型という。
C言語の規格を定めた「ISO/IEC 9899:1999」では、time_t型の範囲や精度はいずれも処理系依存としているが、time_t型は、伝統的には符号つき32ビット整数(signed long int型)であり、最大値は (231 - 1) = 2,147,483,647 となる。つまり、2,147,483,647秒までしか計算できない。
このようなAPIの下で作られたアプリケーションでは、1970年1月1日0時0分0秒から2,147,483,647秒を経過した、2038年1月19日3時14分7秒を越えると、この値がオーバーフローし、負と扱われるため、誤作動する可能性が高い。さらに、この仕様は他の多くのプログラミング言語でも採用されているため、それらの言語で作られたアプリケーションも同様に誤作動する可能性が高い。
2038年問題(にせんさんじゅうはちねんもんだい)は、2038年1月19日3時14分7秒(UTC)を過ぎると、コンピュータが誤動作する可能性があるとされる問題。
標準的なC言語の実装では、時刻の表現形式として1970年1月1日0時0分0秒(UTC)からの経過秒数を使用している。これはUNIXの仕様に由来するもので、time_t型という。
C言語の規格を定めた「ISO/IEC 9899:1999」では、time_t型の範囲や精度はいずれも処理系依存としているが、time_t型は、伝統的には符号つき32ビット整数(signed long int型)であり、最大値は (231 - 1) = 2,147,483,647 となる。つまり、2,147,483,647秒までしか計算できない。
このようなAPIの下で作られたアプリケーションでは、1970年1月1日0時0分0秒から2,147,483,647秒を経過した、2038年1月19日3時14分7秒を越えると、この値がオーバーフローし、負と扱われるため、誤作動する可能性が高い。さらに、この仕様は他の多くのプログラミング言語でも採用されているため、それらの言語で作られたアプリケーションも同様に誤作動する可能性が高い。
PR
カウンタ
カレンダー
10 | 2024/11 | 12 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
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 |
最新記事
(01/14)
(01/13)
(01/12)
(01/11)
(01/10)
最新CM
最新TB
リンク
ランダムリンク