二進数のお話


SPALM入門

二進数のお話

ここではコンピュータで扱う、2進数とはなにか。
そして、それをどう扱えるのか、ということについて解説します。

SPALMでもゲーム作っているときいずれこの2進数を使用する日がくるはずです。

今のところは、ふーん程度でもいいので理解しておいて損はないです。

#わからない、と言う事がありましたら、スレへ報告をお願いします。
#書き間違い等ありましたら修正をお願いします。

おい、そもそも2進数とはなんぞや?

2進数を説明する前に私達が普段使っている数字についてお話ししますね。
私達は普段、数字を数えるとき、
0,1,2,3,4,5,6,7,8,9, 10 ,11,12,..

と言う風に10という値を区切りに繰り上がりを起こして数えていきます。
これを「10進数」と言います。
そう、私達は普段10進数を使って生活をしているんですが、この数字の数え方は機械には分かりません。

なぜならば、機械は0と1の情報しか持てないからです。
では、どうやって数字を数えるのか。

さっき、私達は10という値を区切りに繰り上がりをおこして数えると言いました。
機械は 0,1と数えたら次は繰り上がって 10 と数えます。
そう、2つしか数えないのでこれを2進数といいます。
実際にさっきの0〜12まで数えてみましょうか。
0,1,10,11,100,101,110,111,1000,1001,1010,1011,1100
0,1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

2進数から10進数に変換したいのだが・・・

2進数から10進数に変換する方法は簡単です。
というのも、数学の公式に当てはめるような感じで求める事が出来ます。
とりあえず、次の2進数を変換してみましょうか。
1010010
まず、上に2のn乗の数を書いていきます。一番右を1としてください。

64,32,16, 8, 4, 2, 1
 1, 0, 1, 0, 0, 1, 0

次に上と下の数字をかけ算します。

 64,32,16, 8, 4, 2, 1
× 1, 0, 1, 0, 0, 1, 0
----------------------
  64, 0,16, 0, 0, 2, 0

最後に一番したに書いた数字を足すだけです。
64+0+16+0+0+2+0 = 82

というわけで、2進数 1010010 は 10進数だと82であると言う事が分かりました。

10進数から2進数へ変換はどうするのだ

書きかけ途中

私生活に2進数をとりいれたいのだが・・・

指で練習してみてください。最初は見ながらでいいです。

ああ、そうそう参考までに申し上げると今までどおり数えると指では10までしか数えられませんが、
2進数を採用すると片手で31、両手で1023、両手両足で1048575数えることが出来ます。
( 両手両足は無理でも片手で31は便利と思いませんか? )