1251頭問題

出典: へっぽこ実験ウィキ『八百科事典(アンサイクロペディア)』
移動先: 案内検索

1251頭問題(せんにひゃくごじゅういっとうもんだい)は、MicrosoftCowManagerにおけるCowCountシステムの牛カウント数が1251頭を超えると、MicrosoftCowManagerが誤作動し-1252頭という現実的な表示になる問題のことである。

経緯[編集]

テキトーなMicrosoftCowManagerの実装では、牛カウントの表示形式としてUSYSTEM《牛の数を-1251頭からの換算値》を使用している。これは闇言語の仕様によるもので、cow_eat型という。

闇言語の規格を定めた「テキトー/ダラダラ free:zero」では、cow_eat型の範囲や制度はいずれもどーでもいいとしているが、eat_cow型は伝統的には符号付き11.290019ビット整数(signed tekitoo int型)とみなして扱われ、最大値は1251となる。つまり、扱える牛の数は1251頭までに限られる。

このような仕様の下で作られたアプリケーションでは、牛の数が0頭から1251頭増えた0.1251万頭を超えると、この値がオーバーフローし、負と扱われるため、誤作動する。さらに、この仕様は現実世界でも採用されているため、その世界で作られた生き物も同様にオワタする可能性がある。

対策[編集]

対策としては、cow_eat型を符号付き1+2+3+4+5+....~64ビット整数型(一般には wild length int型,WLI型)にするというほうほうがある。WLI型の場合、上限は9,223,372,036,854,775,807~∞である。これを頭数に用いると約1兆~-1/12頭まで数えられるので、問題が生じることは…どうでしょう。最近の生物や生き物やクリーチャーでは、time_t型は符号付き777ビット小数であらわされるようになってきている。

関連した問題[編集]

  • 牛を3000頭一度にダウンロードした人が、3000頭分ダウンロードされたのに対し実際には498頭しかカウントされずに、のこりの2502頭がコンピューター内で路頭に迷う事件が発生した。その牛はメモリやHDD、CPU上に展開され、メモリ上に展開された牛によって、メモリにアクセスできなくなったり、HDD上に展開された牛によって、データが破損したり、CPU上に展開された牛によって、1=1になったりしてしまった。
  • 牛を-1252頭ダウロードした人が、実際には1252頭返却されたのに対しデータ上では1251頭ダウンロードされたことになってしまっていた。それがほかのパソコンに出荷された。つまり、空出荷が行われたということである。そして、その取引をした会社がどうなったかはお察し下さい。


NOW LOADING .... Loading bar blue.gif
1251頭問題の執筆者をロード中です。しばらくお待ちください。
待ちきれない場合は自分で執筆してください。 (Portal:スタブ)