ドラクエのステータス上限が255である理由

ステータス255

一度は目にしたことがあるかと思いますが、ドラクエなどでステータスが255以上上がらない現象を目の当たりにして、なんでだろう?と思ったことはないですか?

こんなやつです。

結論から申し上げますと、ステータスの値を1byte(8bit)で表現しようとしたときの上限が255であるからです。

ではこの詳細について紐解いていきましょう。

コンピュータは0と1しか読み取ることができない

大前提としてコンピュータは0と1しか読み取ることができません。

コンピュータはすべて0と1の組み合わせで表現し、計算も行っています。

人間が電気信号で手や足を動かせる仕組みになっているのと同じで、コンピュータも電気信号を受けて「ON」「OFF」を切り替えています。

電気信号が流れないときは「OFF」要するに「0」

電気信号が流れるとき「ON」要するに「1」

Webページのボタンをマウスでクリックすると「ON」を受け取り、内部では処理が働き、ページが遷移したり、入力した内容が送信されたり、そういった動きをします。

ステータス255である理由は?

255という数字は1byte(8bit)で表現したときの上限である、と冒頭にお話ししましたが、この255という数字は人間が読みやすいように表現された10進法という表記になっています。

コンピュータは0と1しか読み取ることができないよ、というのは前述しましたが、255という数字を0と1だけの表現、要するに2進数に変えると

11111111

となります。

1byteはbitに直すと8bit

1bitは「0」か「1」

2bitは「00」「01」「10」「11」のいずれか

8bitは最小「00000000」~最大「11111111」まで存在します。

8bitのデータを10進数で表すと0~255まで存在することになります。

2進数と10進数の計算について

10進数を2進数への変換の仕方は以下の表を用いて計算してみましょう

2進数表記10進数表記
10000000128
0100000064
0010000032
0001000016
000010008
000001004
000000102
000000011

計算方法は次の通りです。

ポイント
  • 10進数の値を上から順番にマイナスにならないように減算します
  • 0になった時点で計算を終了します
  • 減算できたときを「1」
  • 減算できなかったときは「0」として、上位の桁から並べ、8桁になるまで行います。
  • 例えば「150」を2進数へ変換する場合、

    150128221減算できるので「1」
    2264-420減算できないので「0」
    2232-100減算できないので「0」
    221661減算できるので「1」
    68-20減算できないので「0」
    6421減算できるので「1」
    2201減算できるので「1」
    01-10減算できないので「0」

    上記の計算結果から150の2進数表記で表すと

    「10010110」

    となります。

    255の場合は128~1まですべて減算できます。

    逆に2進数を10進数への計算方法は以下の通りです。

    桁数8桁目7桁目6桁目5桁目4桁目3桁目2桁目1桁目
    計算式2^72^62^52^42^32^22^12^0
    2進数表記10010110
    10進数表記1286432168421

    2進数で1の部分をすべて加算していくと

    128+16+4+2=150

    となります。

    255の場合は2進数にするとすべて1になるので、128+64+32+16+8+4+2+1 = 255

    この0と1が8桁つまり8bitすべて11111111となって時点で上限に到達し、これ以上カウントアップできなくなります。

    上限255のまとめ

    実際に計算してみることで255の謎が解けたと思います。

    過去のドラクエなどのRPGを今やってみると、数値の意味が理解できるようになるかと思います。

    今回の内容はIPアドレスのIPv4における表記についても同じ計算方法で求めることができます。

    192.168.1.1という10進数表記を2進数に変えた場合どうなるか?をご自身で計算して求めてみるとより深く理解することができるのではないでしょうか?

    IPアドレスはTCP/IPの知識の基礎となる部分です。

    マスタリングTCP/IPという本はITエンジニアの中でもかなり高評価を受けている本です。

    僕自身もこの本でTCP/IPの基礎を勉強する上で非常に役立っております。

    TCP/IPの基礎を学びたいという方は以下から

    マスタリングTCP/IP―入門編―(第6版)

    Amazonで井上 直也, 村山 公保, 竹下 隆史, 荒井 透, 苅田 幸雄のマスタリングTCP/IP―入門編―(第6版)。アマゾンならポイント還元本が多数。井上 直也, 村山 公保, 竹下 隆史, 荒井 透, 苅田 幸雄作品ほか、お急ぎ便対象商品は当日お届けも可能。またマスタリングTCP/IP―入門編―(第6版)もアマゾン配送商品なら通常配送無料。

    \無料コンテンツを配布しております/

    毎日エンジニアとして勉強をしているのに

    そんな毎日に悩みを抱えている方

    もしかしたら間違った勉強方法をしているかもしれません。

    エンジニアとして生きていくための正しい勉強とは
    一体何でしょうか?
    以下からご確認ください

    コンテンツ無料ダウンロードページ

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です