2進数について


HSPを使う上では2進数はほとんど関係ありません、
「stick」など一部の命令ぐらいでしか使われていませんが、 知っておくと少し得かもしれませんので紹介しておきます。

ちなみにstickの解説はこちら

ここで、なぜ「1, 2, 3, 4, …」と続かないのかと思うとおもいます。
つまりここに2進数が関係しているのです。

どういうことかというと、
普段皆さんは10進数というものを使っています。
これは、「0, 1, 2, 3, 4, 5, 6, 7, 8, 9」の10個の数字を使って数を表す方法のことです。
「9」の次はもちろん「10」ですよね。

それに対して2進数は「0, 1」の2個の数字しか使いません。
当然数字が二つしかないので、「1」の次は「10」(「じゅう」ではなく「いちぜろ」と読む) となります。
余談ですが2進数での1桁のことを「ビット」といいます。

2進数と10進数の関係を表すと

2進 10進
  0    0
  1    1
 10    2
 11    3
100    4
101    5

つまり2進数での「1」「10」を10進数にすると「1」「2」となります。

次に、10進数の100の位が「2」、10の位が「4」、1の位が「0」だとすると
(2×100) + (4×10) + (0×1)
となり答えは「240」になります。
この式を分解すると
2×(10^2) + 4×(10^1) + 0×1(100の位の意味は10が10個あるということ。)
という解釈もできます。
(10^2とは10×10のことであり10^3といったら10×10×10となる。)

2進数で「1100」となったときは同じように
1×(2^3) + 1×(2^2) + 0×(2^1) + 0×1
つまり1×8 + 1×4 + 0×2 + 0×1となり
10進数での答えは「12」となります。

10進 2進 2進桁
 128 2^7  8
  64 2^6  7
  32 2^5  6
  16 2^4  5
   8 2^3  4
   4 2^2  3
   2 2^1  2
   1 2^0  1



もう気づいたでしょうか、
stickの説明にある

「1,  2,   4,    8,    16,     32, …」とは2進数の
「1, 10, 100, 1000, 10000, 100000, …」
だったのです。

戻る--------目次--------次へ