Zenyの上限

突然ですが、zenyの上限って知ってます?

みんな、2Gちょっとでしょ?と、なんとなく知っているものの、
だいき。先輩のように12キャラ2G持っている人はなかなか少ないので、自分で試してみる機会はないですよね。(公式載ってるとかカンニングは認めません)

で、その上限は、2,147,483,647Zenyです。
普通の人には馴染みのない数字ですが、私のようなIT土方はよく見る数字なんです。

 

@興味がない人は、これ以下は読まないほうがいいです!

 

今はどれも64bitですけど、数年前に少しパソコンに詳しい人は、OSは32bitじゃなくて64bitじゃないとなー。
とか、互換性は大丈夫かなー考えたのではないでしょうか。
で、ROはとっても古いゲームなので、その32bitで動くことを前提に作っているんです。きっと。

 

bitとは…0と1のことです。それが32個。
つまり最大は、2進数で”11111111111111111111111111111111″ですね!

 

1bitは1個で0,1の2個しか表現できません。
2bitだと、0,1と0,1の組み合わせで、00,01,10,11の4個表現できます。
面倒だし興味ないと思うので省略しますが、1bitだと2個、2bitだと4個、とやっていくと、32bitで4,294,967,296個まで表現できます。

 

あれ、さっきの2,147,483,647Zenyとは一致しませんね!
だいき。先輩のようにポジティブな人は+ばかり見ていればいいですが、私のようにネガティブな人もたくさんいるので、
残念ながらマイナスも考慮しなくてはいけないのです。そこで、半分をマイナスに分けてあげます。

 

4,294,967,296 / 2 = 2,147,483,648

 

!!!
どこかで見た数字が!だいき。さんの所持金+1ですね!
実際には2の補数とか高校だか大学で習うのを使うんですけど、どうでもいいので省略。

 

理不尽なことに、0は+側に入ります。よって…
+は、0~2,147,483,647
-は、-1~-2,147,483,648
と、やっとだいき。さんの所持金と一緒になりました。
(IT土方はこれをInteger(整数)型と呼びます)

 

上記の手順を式にしてみると、2を32回掛けて2で割って1引いたので、((2^32)/2)-1ですね。
“((2^32)/2)-1″をこぴってGoogleで検索してみると、電卓が出てきて、だいき。の所持金を表示してくれるはずです。

 

長くなりましたが、次から「zenyの上限って知ってる?」って言われたら、ドヤ顔で「2^31-1だよ」と答えましょう。
という記事でした。

 

おしまい。