2進数と16進数
10進数と 2進数
私たちが普段、数字を数えるとき、0から9までの10種類の数字を使います。 0,1,2,3...と数え、9まで数えたら次は 10 と桁が 1つ増える数え方をします。 これを 10進法と言います。
コンピュータやプログラミングやネット技術では、 10進法以外に 2進法もよく使います。 2進法では 0 と 1 の2種類の数字だけを使います。数えるときも 0,1 と数えて次は桁が上がり 10 (「じゅう」ではなく「イチ・ゼロ」) になります。同じようにして、11の次は 100、111の次は 1000 になります。
10進数 2進数 0 0 1 1 2 10 3 11 4 100 5 101 6 110 7 111 8 1000 9 1001 10 1010 .... ...
コンピュータの内部はオン・オフのスイッチの集合体で、 オフ=0、オン=1 の組み合わせで数値を扱うので、 2進法が便利なことが多いのです。
ビット数と表せる数値の範囲
2進数の桁数がビット数と呼ばれます。 ビット数の大きさによって表現できる値の範囲が決まります。
◎ビット数と表せる値の範囲 ・2進数で n桁の数字があると、0 から (2のn乗 - 1) の値まで、(2のn乗)通りの 値が表せます。 例えば 8bit だと 0000 0000 から 1111 1111 まで。 0 から 255まで、2の8乗 = 256通りの値が表せます。
ビット数 値の範囲 10進数 n 省略 0 から (2のn乗 - 1)まで 1 0 から 1 まで 0 から 1 まで 2 0 から 11 まで 0 から 3 まで 3 0 から 111 まで 0 から 7 まで 4 0 から 1111 まで 0 から 15 まで 5 0 から 1 1111 まで 0 から 31 まで 6 0 から 11 1111 まで 0 から 63 まで 7 0 から 111 1111 まで 0 から 127 まで 8 0 から 1111 1111 まで 0 から 255 まで ... ... ... 16 省略 0 から 65,535 まで, 約6万5千, 約65k 24 省略 0 から 16,777,215 まで, 約1,677万, 約16M 32 省略 0 から 4,294,967,295 まで, 約40億強, 約4G
16進数
コンピュータやネット技術の分野では 2進数とともに 16進数もよく使われます。 16進数では 16種類の文字を使って数字を表します。 0から9まででは文字が足りないので、A,B,C,D,E,F も数字の代わりに使います。 0,1,2, ...9,A,B,C ... と数え, F の次は桁が繰り上がり、10 (「じゅう」ではなく「イチ・ゼロ」) になります。
10進数 16進数 2進数 0 0 0 1 1 1 2 2 10 .... ... ... 9 9 1001 10 A 1010 11 B 1011 12 C 1100 13 D 1101 14 E 1110 15 F 1111 16 10 1 0000 10進数 16進数 2進数 ビット数(2進数の桁数) 255 FF 1111 1111 8bit 256 100 1 0000 0000 ... ... ... 4,095 FFF 1111 1111 1111 12bit 4,096 1000 1 0000 0000 0000 ... ... ... 65,535 FFFF 1111 1111 1111 1111 16bit 65,536 1 FFFF 1 0000 0000 0000 0000 ... ... ... 10進数 16進数 ビット数 バイト数 (8bit=1byte) 255 FF 8bit 1byte 4,095 FFF 12bit 65,535 FFFF 16bit 2byte 約1,677万 FF FFFF 24bit 3byte 約43億 FFFF FFFF 32bit 4byte 約281兆 FFFF FFFF FFFF 48bit 6byte 約1,844京 FFFF FFFF FFFF FFFF 64bit 8byte
2進数では 0 と 1 しか数字がなく、 桁数もすぐに大きくなり読みづらいので、 16進数で表示して読みやすくします。
16進数の表記は HTML の色指定でも出てきます。
#ff0000 赤色 #00ff00 緑色 #0000ff 青色 CSS 色の指定
2の乗数いろいろ
・2の10乗, 20乗、30乗といった値は、PC のメモリ容量やフラッシュ ストレージの容量を表すときにもよく出てきます。 2 の 10乗 = 1024 = 約1000 (k, キロ) 2 の 20乗 = 1024×1024 = 100万強 (M, メガ) 2 の 30乗 = 1024×1024×1024 = 10億強 (G, ギガ) 2 の 40乗 = 1024 の 4乗 = 1兆強 (T, テラ) 1k = 1,000換算ではなく、1k = 1,024換算を使う。 HDD はちょっと複雑な話がある・・・省略。 ● 24bit 2 の 24乗 = (2 の 20乗) × (2 の 4乗) = 100万 × 16 = 約1,600万強 2^24 = 16,777,216, 約1,677万 コンピュータの画像やディスプレイで 24ビットフルカラーと 言った言葉もよく出てきます。 RGB (赤,緑,青) をそれぞれ 8bit階調 (256階調) で表します。 8bit+ 8bit+ 8bit = 24bitカラー 256 × 256 × 256 = 約1,677万色の色数 24bitカラーは HTML の色指定 (例:#ffcc00など) でも出てきます。 CSS 色の指定 ● 32bit 2 の 32乗 = (2 の 30乗) × (2 の 2乗) = 10億強 ×4 = 40億強 インターネットの IPv4アドレスでも出てきます。 IPアドレスの範囲の指定方法