2019年10月2日コンピュータの知識こんにちは、みやびのです。今回は、2進数の基本について紹介します。具体的には以下の2点です。・コンピュータはなぜ2進数や16進数を使うのか・コンピュータを理解するための2進数の基本コンピュータ分野に関わるのであれば2進数や16進数の理解は必須です。本記事を参考にしつつ簡単なところから始めましょう。終わりにコンピュータはなぜ2進数や16進数を使うのかコンピュータは2進数や16進数で管理されていることが多いですが、これはなぜでしょうか?コンピュータはビットと呼ばれるON・OFFのスイッチで全てのデータや処理を管理しています。このコンピュータのON・OFFは1・0で表現する2進数と相性が良いです。ONを1、OFFを0で管理することでコンピュータの全てのデータや処理を2進数で表現できます。「コンピュータが2進数と相性がいいなら2進数だけで良いのではないか」と思うかもしれませんが、2進数だと人間が管理しにくいですし、パッと見でどのくらいの数値かも判断しにくいです。これはいくつでしょう?111111110111正解は4087です。時間をかければ計算できますが、ちょっとわかりにくいですよね。これを16進数に変換すればff7で表現できます。10(10)※()内の数字は進数ですのように変なタイミングで10進数の桁が変わってしまうので相性があまりよくありません。よって10進数は2進数で管理しているコンピュータとも相性がよくないです。f(16)※()内の数字は進数ですのように2進数の4桁(0000〜1111)で16進数の一桁(0〜f)を表現できます。桁が上がるタイミングも同じなので10進数と比較すると管理しやすいですね。・2進数はコンピュータのビットと相性が良い・16進数は2進数と相性が良いという理由から2進数や16進数がコンピュータでよく使われます。コンピュータを理解するための2進数の基本2進数の以下の3点について説明します。・2進数のマイナスの表現この3つを覚えてしまえばコンピュータで使う2進数の理解についてはOKです。進数は、ある数字になる時に桁をあげるという数字の表現方法です。10進数の場合は、9の次、10になった時に桁が一つ上がり10となります。16進数の場合は、f(10進数で15)の次、16になった時に桁が上がり10となります。同様に2進数の場合は2になった時、3進数の場合は3になった時に桁が上がり10になります。よって進数が異なると同じ10や100であっても値が異なります。256(10)2進数の場合以下のように桁が上がっていきます。8(10)※()内の数字は進数です進数の各桁は進数の○乗で表現することができます。82進数はひとまず右の数字を倍にすると覚えておけばOKです。ポイントは以下の3つ。1最初は数字の頭にルビのように数字を振っておきましょう。上記の場合、4の桁は0なので無視して計算します。112進数はよく使う桁数は16進数と対応する4桁や8桁です。よって8桁くらいまで覚えておけば良いでしょう。ff(16)2進数・10進数・16進数の対応関係16進数は0x○のように頭に「0x」をつけて表記します。0x9上記は暗記しておけばOK。最悪全てを覚えていなくても「16進数の10以降はアルファベットを使う」ということを覚えておけば「Aが10だからBは11だな」という感じで連想して思い出すことができます。2進数についても「1010は、8+2で10だから16進数だとAだな」のようにその場で計算して、10進数や16進数に変換できればOKです。2進数のマイナスの表現2進数のマイナスは先頭の桁で表現します。先頭の桁が1の場合マイナスとなる訳ですが、1001なら-1という単純な話ではありません。-1は「1111」です。-2は「1110」、-3は「1101」のように一つずつ数字が減っていきます。桁数が変わると-1の表記上の値が変わります。1111マイナスの絶対値を求める場合はビットを反転(0→1、1→0に変換)して1を加算するという計算方法を行います。1111の場合は0000にして1を足すので0001となります。絶対値をマイナスにする場合も反転して1を加算することで変換可能です。絶対値「0001」をマイナスにする場合は1110に1を加算して1111となります。・1111を15として扱う・1111を-1として扱うのように場面によって使い分けることが可能です。これによりマイナスを使う必要がない場面においてはより多くの桁が使うことができます。終わりに2進数や16進数は基本が分かればそれほど難しくはありません。計算方法や各進数の対応関係を覚えておけばOKです。マイナス表記の話が出てくると少し複雑になりますが、計算方法さえ覚えておけばその場で計算できます。コンピュータ分野に関わる場合は2進数や16進数の理解は必須です。2進数の計算方法を覚えるなど簡単なところから始めましょう。この記事のURLをコピーするカテゴリ:コンピュータの知識こちらの記事も読まれていますこの記事を書いている人miyabikno住んでいるところ:神奈川県。SIer中小企業(C,VBA):8年(うち5年QA)。Web系ベンチャー(PHP,Javascript,Python):2年。@miyabiknoSIer中小企業(C,VBA):8年(うち5年QA)。Web系ベンチャー(PHP,Javascript,Python):2年。現在はブログをメインに活動しています。みやびのどっとぴーわい。