16進数って何だ?さて2進数のお話が終わったところで16進数についてのお勉強で〜す。
やっぱりこれも幼稚園年少組用
例えば2進数で100を表すとすると
1100100
と、なりなすよね。64+32+4と言う事です。
一番右側が1の重さを持ったビットで一番左側が64の重さを持ったビットです
(一番右のビットをLSB、一番左側のビットをMSBと呼ぶ場合があります)
なんと100を表現するのに7桁の数字になっちゃいました
これって見にくいですよね人間様にとっては...
よくもコンピューターはこんなので動くよな〜関心関心
普段使っている10進数なら1桁で0〜9まで表現できたのに何とも判りづらいですね。
そこで考え出されたのが、人間様にとってもう少しわかりやすい16進表記方法です
1桁で0〜15まで表現できちゃう、欲張った?方法です
10進数では0.1.2.3....9と進んで10になったとき桁上げが発生しますよね
理屈っぽく書くと 9の次は左側の桁(10の位)が1になって、今9だった
桁(1の位)は0のなりますよね。
でも16進数は16で桁上げが発生するわけですから1桁で何とか15まで表現する必要が
ありますね。そこで...うむ〜9の次はどうしよう??ヽ(~〜~ )ノ ハテ?
と悩んだかどうか..と、いうことで0から9までは10進数と同じ数字にして
10から16までの6つの数字を表現するのにアルファベットのABCDEFを
10から順に割り付ける事に決めまししました。
別に○とか△だってかまわなかったはずですがね..俺はハートマークなんて好みだな..。
まあ決まったものには素直に従いましょうね。
しかし 何で16進数なんだ? それなら20進数とかの方が効率よさそうじゃん
と考えた方いません? 俺だけか〜ヽ(__ __ヽ)コケッ!! 2進数と16進数さて何で16進数かって言うと2進数を思い出してください
4ビットでちょうど0から15迄の16種類の表現が出来ましたよね。
おお〜何だか都合よさそうじゃ あ〜りませんか
さっそく さっきの 100の2進数で確認してみましょう
1100100=2進数で表現した100です
上で説明したように16進数では1桁で 2進数の4ビットが表現できるわけですから
1100100=2進数で表現した100を4ビットずつに区切って
110 0100としてこれを16進数で表すと6 4となりましたね〜
そうです10進数の100を16進数で表すと64となります。
ん? 判らなくてもなったの! あはは
下手な説明でかえって混乱しちゃったって? ごめんなさい〜〜
それに100で説明したらA〜F出てこなかったあはは まいった。
まあ 2進数のままだと やたらと桁数が多くなるので16進数ってやつが考えられたって
お話でした〜〜 読んでそんしちゃったね〜 ぺこ <(_ _)>
下の表で許してね〜
| 10進数 | 2進数 | 16進数
|
|---|
| 10 | 1010 | A
|
|---|
| 100 | 110 0100 | 64
|
|---|
| 1,000 | 11 1110 1000 | 3E8
|
|---|
| 10,000 | 10 0111 0001 0000 | 2710
|
|---|
| 100,000 | 1 1000 0110 1010 0000 | 186A0
|
|---|
| 1,000,000 | 1111 0100 0010 0100 0000 | F4240
|
|---|
|