コンピュータ基礎

コンピュータは馬鹿なので1と0しか読み取れません。
いわゆるonとoffです。
この2つで表しきれない2以降を桁上がりすることで表現する。
 
これを2進数表現といいます。

10進数 2進数 備考
0 0
1 1 ←1桁の最大値
2 10
3 11 ←2桁の最大値
4 100
5 101
6 110
7 111 ←3桁の最大値
8 1000
9 1001
10 1010
11 1011
12 1100
13 1101
14 1110
15 1111 ←4桁の最大値

...
というふうになります。
この桁上がりで最大値は基本値^桁-1です。
※表現できる値は0を含めるので基本値^桁になる。
ここで言う基本値というのはn進数のnの部分です。
 
 
2進数表現の1桁をビットと呼び8ビット(8桁)をひと纏りとした値が1バイトになります。
 
2進数4桁
上記の2進数表現ではなかなか長くて人が見る分には情報が読み取りにくいですよね。
その上記述する上でもかなり面倒です。
 
そこで比較的簡単に記述する16進数の登場です。
2進数表現で4桁かかる表現を16進数では1桁で可能になります。
16進数では2桁で2進数表現の8桁を表現できます。
 
1バイトを2桁で表すなんて画期的!
そんな感じです。2進数なら8桁。10進数なら5桁です。
数字は10進数用でしか用意されていないので9以上は数字で表現できません。
そこでアルファベットのA〜Fを使い15まで表現することになっています。
10をA、11をB、、、、というふうに15であればFを割り当てていきます。
0〜9A〜Fで16個表現できますよね。

10進数 16進数 備考
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 A
11 B
12 C
13 D
14 E
15 F ←1桁の最大値

このようにすることで人間でも読解しやすくした物です。
16進数は2進数に戻しやすいという利点もあります。
ただ、面倒なので説明は省きます。
 
以上。