【揺花草子。】[#4497] 覚えやすくなったのか?
Bさん「かつて少年だったおじさんたちにとって
非常にインパクトの大きい数字と思われる『838861』ですが。」
Aさん「んん、おぉ・・・。
そしてそのかつて少年だったおじさんと言う言い方よ。」
Cさん「ね、おかしな話よね。
かつて美少女だったおばさんの中にだって
その数字に惹かれる人はいるはずよね。」
Aさん「いや、うん・・・すみませんノーコメントで。」
Bさん「阿部さんは全く勇気がないなあ。
旅立ちを恐れ引きこもっていた宿屋の息子みたいだなあ。」
Aさん「ホフマンの事かな!!?」
Bさん「ともかく、この『838861』と言う数字。
どう言うものか解説をお願いできる?」
Aさん「まあ・・・あれだよね、
FC 版『ドラゴンクエスト IV』において、
旅の途中のミニゲームとしてカジノがあるんだけど、
このカジノでは通貨であるゴールドでは遊べなくて、
カジノでだけ使えるコインに交換しなきゃいけない。」
Cさん「つつがない良い感じね。」
Aさん「交換レートは 1 コイン= 20 ゴールドですけど、
交換所で 838,861 枚のコインを交換しようとすると
なんとたったの 4 ゴールドで交換できてしまうと言う裏技があって、
これが当時のプレイヤーたちの間で口コミで広がって、
印象的な数字として今なお語り継がれていると言う事ですよね。」
Bさん「そう言う事だね。
ちなみにこれは何が原因でこうなっているかは説明できる?」
Aさん「んん。
これはまあ有り体に言えばオーバーフローのバクで、
ゴールドを管理する変数のビット数を超える数値になるから
巻き戻しが発生して・・・って事だよね。」
Bさん「そう言う事だね。
ドラクエ IV の仕様では、ゴールドの上限値は 16,777,215 になっている。
これは16進数で言うと6桁の 0xFFFFFF と言う事になるね。
コインはさっき阿部さんも言った通り 1 コイン= 20 ゴールドだから、
本来 838,861 枚のコインを買おうと思ったら 16,777,220 ゴールド
掛かる事になる。
この数字は16進数で言えば 0x1000003 になる。
けどこの数字はゴールドの上限である 0xFFFFFF を超えちゃうから、
最初の桁が切り落とされて 0x000003 と言う扱いになっちゃって、
結果的に 16,777,220 - 16,777,216 で 4 ゴールドと言う値が
出て来ちゃうって事だね。」
Aさん「うんうん。そうだね。」
Cさん「ちなみに5章以外、2章でも3章でもカジノは遊べるんだけど、
コインの単価が違うから 838,861 枚買おうとしても
4ゴールドにはならないわ。
逆に言えば単価からオーバーフローする最も小さな値を
計算すれば2章3章でもコイン長者は簡単だけどね。」
Aさん「ふむふむ。」
Bさん「ただ、理屈では分かるけれども、
この『838861』と言う数字はちょっと覚えにくい。」
Aさん「まあ・・・それは、そうだろうねえ。」
Bさん「これを簡単に覚える語呂合わせを編み出せれば
全国の FC 版ドラクエ IV プレイヤーにとって
大いなる福音になるのではないかと考える。」
Aさん「そもそも21世紀も四半世紀を迎えようかと言うこのご時世に
FC 版ドラクエ IV をプレイする人がいるのかと言う点に
疑念を抱かざるを得ないけどね?」
Cさん「温故知新よ。」
Aさん「それ使い方正しいですかねえ。」
Bさん「ともあれ、838861 を簡単に覚えるための語呂合わせ。」
Aさん「んん。」
Bさん「ここで重要なのは、『6』に関してはちょっと
語呂を作るのが難しいから、『9 - 3』、つまり『9』と『3』を
代わりに用いると言う点です。」
Aさん「覚える事増えてるじゃん。簡単なのそれ?
つまり『8388931』と言う数字になるって事?」
Bさん「その通り。
そしてその覚え方は。」
Aさん「んん。」
Bさん「『ハッサンやや臭い』。」
Aさん「ハッサン完全にとばっちり!!!!!」
ドラクエ VI のキャラクターじゃないですか。