#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倍になります。


整理:ビット数ごとのパターン数

ビット数パターン数計算
12
24
38
4162⁴
82562⁸
1665,5362¹⁶
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パターン
  • intshort などの型サイズは、すべてこのビット数で決まる

次回は「0と1で数を数える」2進数の仕組みを見ます。