1.基数と基数変換
*** 基数 ***
コンピュータの基礎を理解する上で、基数についての理解は必須である。
10進数では、10になると桁が1つ繰り上がるが、2進数では、2で桁が1つ上がる。
この桁の繰り上がる基準となる数のことを基数という。
☆10進数と2進数、16進数との対応表
10進数 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
2進数 | 0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
16進数 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
2進数は、0又は1の数字で表現し、
16進数は、1から16までを0〜9、A〜Fの文字で表現する。
・IPv4(Internet Protocol Version 4)
IPアドレスを10進数で表記し、
0.0.0.0 〜 255.255.255.255(10進数) = 0.0.0.0 〜 11111111.11111111.11111111.11111111(2進数)
のように8bit区切り合計32bitの長さとなる。
・IPv6(Internet Protocol Version 6)
IPアドレスを16進数で表記し、
2005:1000:0ab0:0000:0000:1234:5678:fe5e
のように16bit区切り合計128bitもの長さとなる。
・NIC(Network Interface Card)
LANカード等のNICには、MACアドレス(Physical Address)があり、
12桁の16進数表記で、
00:00:EB:5D:02:C1
のように8bit区切り合計48bitの長さである。
*** 基数変換 ***
① 2進数→10進数
8桁の2進数を10進数に変換するには、
上の位より、
128 (= 2^7)
64 (= 2^6)
32 (= 2^5)
16 (= 2^4)
8 (= 2^3)
4 (= 2^2)
2 (= 2^1)
1 (= 2^0)
の10進数を当てはめ、1がある場合のみその数字を抜き出し、加算していく。
例: 11111111(2進数) = 128+64+32+16+8+4+2+1 = 255(全て抜き出すと255になる)
② 10進数→2進数
10進数を8桁の2進数に変換するには、 128、64、32、16、8、4、2、1(10進数)の順番で、
元の10進数の数字になるまで加算しながら、
加算した場合は1を、加算しない場合は0を、左側より8桁書き出していく。
例: 255(10進数) = 11111111(128 から 1までを全て加算すると255になる)