アカウント名:
パスワード:
なんで5月が境目になるんだろうな。
時刻関連のバグと言えばUnix時間ですね
Unix時間はOS内部でよく使われている時間の表現方法で1970年1月1日(UTC)を0として,そこからの経過秒数をカウントします
このUnix時間が引き起こすバグとしては,以下のパターンが有名です
- 1970年問題1970年以前はUnix時間がマイナスになり,想定外の不具合が生じます.- 2001年9月9日問題Unix時間が十進数で10桁を超えるのがこの日で,実装によっては桁溢れが生じます- 2038年問題Unix時間が32bitを超えるため,符号あり32bit整数で実装していると時刻がマイナスになります
ここからは私の想像ですが,iOSの不具合も,1970年問題の一種だと思います.1970年5月はUnix時間で表現すると約10000000になりますので例えばプログラム内部で Unix時刻から10000000を引くような処理があるとアンダフローが起きて 1970年問題と同じ結果になります
その想像はいらないし、計算が合ってない。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
「科学者は100%安全だと保証できないものは動かしてはならない」、科学者「えっ」、プログラマ「えっ」
May 1970 or earlier (スコア:0)
なんで5月が境目になるんだろうな。
Re: (スコア:0, 荒らし)
時刻関連のバグと言えばUnix時間ですね
Unix時間はOS内部でよく使われている時間の表現方法で
1970年1月1日(UTC)を0として,そこからの経過秒数をカウントします
このUnix時間が引き起こすバグとしては,以下のパターンが有名です
- 1970年問題
1970年以前はUnix時間がマイナスになり,想定外の不具合が生じます.
- 2001年9月9日問題
Unix時間が十進数で10桁を超えるのがこの日で,実装によっては桁溢れが生じます
- 2038年問題
Unix時間が32bitを超えるため,符号あり32bit整数で実装していると時刻がマイナスになります
ここからは私の想像ですが,iOSの不具合も,1970年問題の一種だと思います.
1970年5月はUnix時間で表現すると約10000000になりますので
例えばプログラム内部で Unix時刻から10000000を引くような処理があると
アンダフローが起きて 1970年問題と同じ結果になります
Re:May 1970 or earlier (スコア:0)
その想像はいらないし、計算が合ってない。