コンピュータ内のデータ2進数(ITパスポート)
データの中身はどうなっているのか?
コンピュータのデータは2進数で出来ている。
2進数とは?
一般的につかわれている数字は10進数といい9の次は10と桁が上がってゆく、次に上がるのは99の次で100になる。
ところが、2進数は「0」の次は「01」その次は「001」という感じで桁が上がってゆく。
なぜそうなるのか?
2進数は2乗の世界だからである。
つまり、1✕2の何乗という書き方をする、左から最初の値は1✕2の0乗から始まり、10進数の「1」を表す。
左から2番めは1✕2の1乗つまり10進数の2である。
「2」とは書かずに「1と0」と書く。
つまり「10」が2進数の2になる。
右から3番目は1✕2の3乗となる。
え?
と思うのは無理もない、普段の数字の感覚とは別の進み方をするからだからだ。
では、2の2乗はどうなるか?
2✕2✕2=8となるが表示のしかたが違う。
「100」となる、
なぜか?
これを100(百)と読むから分からなくなる。
イチ・ゼロ・ゼロと読む
2進数はさいしょから決まっている数字を、右から順番に並べているだけ。
例えば:「1111」は
一番右は「1」二番目は「2」三番目は「4」四番目は「8」ときまっており、これは絶対に変わらない。
つまり、1111と見た瞬間に8+4+2+1と考える、答えは15。
なので見た目で「15」と覚えてしまう方法もある。
ただし、途中に0が入る時は注意!!
2進数は覚える必要あるの?
ITパスポートを目指す人はその先に色々な資格が存在する、「そこまでやらない」と思うかもしれないが、インターネットを始めネットワークやその他の学習で社会に関わる度に出てくるので、確実に覚えておこう。
根本的な疑問として、
2進数の最初の数字はなぜ1となるのか?
1✕(2✕0)二の0乗だからである。
2進数の全ての位は「1✕2の数乗」となるか又は、「0✕2の数乗」となる。
では、101はいくつか?
数式で表すと右から見た場合、
1✕2の2乗と0✕2の1乗と1✕2の0乗となる。
答えは、4と0と1になるので「5」になる。
101=5と覚えるのもいいが、限界もあるのでやはり計算方法は覚えておいたほうがよい。
※ちなみにコンピュータは見た目で覚えて電流のON/OFFを行う。
10進数を2進数にする計算方法
103を2進数に変換計算してみよう、
まず、
103をとにかく「2」で割る。
え?割れないよ。
たしかに、割れない。
そこで、割れない時は1を引くと割れる。
つまり、102割る2は51になる。
この時、1を引いたので覚えておくために一番右に「1」と書く。
・103÷2=1と51
次に、51を2で割る
割れないのでまた1を引く
51から1引いたので50を2で割る。
25になる。
・51÷2=1と25
ここで1を引いたので覚えておくために、また1を書く。
さっきの1と今回の1をつづけて、11となる。
さらに25を2で割る。
割り切れないので再び1を引く。
・26÷2=1と12
1を引くのは3回目なので、
111と書いておく。
次に12を2で割るこんどは割り切れるので1を引かない、だから、0と書く。
0111と書いておく。
次に、6を2で割る、割り切れるので1を引かないので、0と書く。
00111と書いておく。
次に、3を2で割る、割り切れないので1を引くので1と書いておく。
100111と書いておく。
最後に1がのこった、1を2で割り切れないので、1を引いて0にする。
1を引いたので1を書いておく。
すると、
1100111となる。
完成!
これが、103を2進数で表した形となる。
まとめると、
(103−1)÷2 右から1
(51−1)÷2 右から11
(25−1)÷2 右から111
12÷2 右から0111
6÷2 右から00111
(3−1)÷2 右から100111
(1−1) 右から1100111
最初と最後が分かりにくいかもしれませんが、
とにかく割れなくなるまで割る。
この場合2進数の計算は
64+32+0+0+4+2+1と読む。
2進数は1と0しか表記しないので、
1100111となりますが。
数字の決まりは次のような順になっています。
64・32・16・8・4・2・1
1・1・1・1・1・1・1
この場合全部を足して、128となります。
右から順番に
「0・2・4・8」と倍数ごとに増えてゆく。
0の部分は1✕(2の0乗)と考えるのが肝心、つまり「1」。
2の部分は1✕(2の1乗)と考える、つまり「2」。
4の部分は1✕(2の2乗)て考える、つまり「4」。
こので「1✕」とあるが該当が無い場合は「0✕」とすることも同時に覚えておかないと数字が合わない。
では、最後に次の2進数を10進数に直すとどうなるか?
1・1・1・1・1・1・1・1・1は?
256・128・64・32・16・8・4・2・1と訳す。
そして、全部足し算をする。
答え:511
実にシンプルなのだが間違い防止に計算機は必要かも。
次回は恐怖の16進数についてサクッと覚えます。