#01 バイナリデータ入門
ビットとバイト——コンピュータが扱うデータの最小単位
ビット(bit)とは
コンピュータの中は「電気のON/OFF」の集まりです。この ON か OFF か の1個分を ビット(bit) と呼びます。
0 … OFF
1 … ON
たった1ビットでは2通りしか表せません。でもビットを増やすほど、表現できるパターンは増えていきます。
ビット数とパターン数——実際に並べてみる
1ビット → 2パターン
0
1
2ビット → 4パターン
00
01
10
11
3ビット → 8パターン
000 001 010 011
100 101 110 111
4ビット → 16パターン
0000 0001 0010 0011
0100 0101 0110 0111
1000 1001 1010 1011
1100 1101 1110 1111
ビットが1つ増えるたびに、パターン数はちょうど2倍になります。
整理:ビット数ごとのパターン数
| ビット数 | パターン数 | 計算 |
|---|---|---|
| 1 | 2 | 2¹ |
| 2 | 4 | 2² |
| 3 | 8 | 2³ |
| 4 | 16 | 2⁴ |
| 8 | 256 | 2⁸ |
| 16 | 65,536 | 2¹⁶ |
| 32 | 約43億 | 2³² |
プログラムで int が -2147483648〜2147483647 の範囲を持つのは、32ビットで 2³² = 約43億パターンあるから(半分がマイナス)です。
バイト(byte)とは
ビット8個をまとめた単位が バイト(byte) です。
1バイト = 8ビット = 256パターン(0〜255)
8ビットで256パターン表せると、英語のアルファベット・数字・記号をすべてカバーできます。これが「なぜ8個まとめるか」の理由です。
実際の使われ方(カラーコード)
#FF8800 のような16進数カラーコードは、バイトが3つ並んだものです。
#FF8800
FF = 赤 255 (= 11111111)
88 = 緑 136 (= 10001000)
00 = 青 0 (= 00000000)
1チャンネルが1バイト(256段階)、3チャンネルで 256×256×256 ≈ 1677万色。フルカラーの意味がこれで分かります。
まとめ
- ビット = 0か1の1個。コンピュータ最小の単位
- ビットが1つ増えるたびにパターンは 2倍(2のn乗)
- バイト = 8ビット = 256パターン
intやshortなどの型サイズは、すべてこのビット数で決まる
次回は「0と1で数を数える」2進数の仕組みを見ます。