全1585文字

 アメリカ人と直接会話するには、多くの場合英語を話さなければなりません。皆さんは、自分の伝えたいことをなんとかして英語に訳して話そうとするでしょう。

 それと同様に、皆さんがコンピューターと直接会話するには、コンピューターに対して2進数で情報を伝えなければなりません。なんとかして10進数を2進数に変換してコンピューターに伝え、コンピューターから2進数で返される応答を10進数に変換しなければなりません。

 ただし、心配はいりません。2進数と10進数の変換方法はとても簡単だからです。第1回で説明した10進数の仕組みに当てはめて考えれば、すぐに覚えられます。手順を丸暗記するのではなく、仕組みを覚えてください。実際にやってみましょう。

2進数から10進数への変換

 まず、2進数で表された1001という数値を10進数に変換する方法を説明します。これは「桁の重みに桁に書かれた数値を掛け、その結果をすべて加算する」という手順になります。

 10進数なら下位桁から1、10、100、1000……と、桁が上がるごとに10倍されていきます。2進数の場合は、下位桁から1、2、4、8……と桁が上がるごとに2倍されていきます。これを桁の「重み(おもみ)」と言います。10進数だから10倍、2進数だから2倍なのだと考えてください。

 この1、2、4、8……と各桁に書かれた数値(2進数なので0または1です)を掛け、その結果をすべて加算すれば2進数を10進数に変換できます(図1)。図1から、2進数の1001は10進数で9だと分かるでしょう。

図1●重みを掛けて加算する
図1●重みを掛けて加算する

 この手順が分からない人は、10進数の仕組みを思い出してください。10進数だって、重みを掛けて加算した値を表しているのです。2進数だって同じです。10進数と2進数の違いは、桁の重みだけです(図2)。

図2●10進数でも考え方は同じ
図2●10進数でも考え方は同じ