とらりもんHOME  Index  Search  Changes  Login

情報のデジタル表現: (1) ビットとバイト

計算機の上で情報は「デジタルデータ」として表現される。ここではその形式や仕組みを学ぶ。

「デジタル」とは?

まず, 君は「デジタル」の意味をわかっているだろうか?

デジタルは英語でdigitalと書く。なので「デジタル」より「ディジタル」と読む方が適切だろう。digitalの中の"digit"は「数字のひと文字」を意味する。digitalを直訳すれば「数字的」である。つまりデジタルデータとは「数値で表現された情報」のことなのだ。

多くのものはデジタルデータで表現できる。例えば音楽は, 演奏時間を細かい間隔に刻んで, 各瞬間の音圧力を数値に換算して並べればデジタルデータになる。後で学ぶ「文字コード」という技術を使えば, 文章もデジタルデータにできる。

計算機で扱う情報は, 基本的に全て「デジタルデータ」で表現される。計算機は数値を扱うのが得意だからである。

情報の単位 (the units of information)

そもそも「情報」とは何だろう? 例えば明日, サイクリングに行く人が欲しい情報は「明日の天気」である。その内容は「晴れ」「曇り」「雨」という選択肢のうちのどれか? である。つまり, 情報とは「選択肢のうちどれか?」を表すことなのだ。

数値はひとつの選択肢である。例えば「今日正午の気温は23℃」というのは, 「℃」で表した時の気温としてありえる, -30くらいから50くらいまでの選択肢の一つである23を表している。逆に, 「選択肢のうちどれか?」は, 選択肢に番号を振っておけば, 「そのうちの何番?」という数値で表現できる。こう考えれば, 数値と選択肢は同じとみなせる。さっき, 情報は選択肢だ, と言ったので, 結局, 情報工学では情報と選択肢と数値は同じものとみなす。

ビット(bit)

最も小さな情報は, 「2つの選択肢のうちどちらか?」である(もし選択肢が1つだけなら, それはもはや選択ではない)。そのような情報をビットと呼ぶ。1ビットは「ひとつのスイッチ」に対応する情報だ。スイッチは, onかoffという, 2とおりの状態のうちのいずれかをとる。「スイッチひとつで表すことのできる情報」が1ビットである。計算機は中に膨大な数のスイッチを持っていて, そのon/offでデータを保持したり処理したりする。なので, 「ビット」という単位は, 計算機の構造とも馴染みが良い。

2つ以上の選択肢がある場合は, 複数のスイッチ(複数のビット)を使えばよい。例えば4つの選択肢がある場合は, スイッチAとスイッチBという2つのスイッチを用意して,

  • 「AがoffでBもoff」を選択肢1
  • 「AがoffでBがon」を選択肢2
  • 「AがonでBがoff」を選択肢3
  • 「AがonでBもon」を選択肢4

というふうに取り決めておけば, 2つのスイッチの状態で, 「どの選択肢が選ばれたか」がわかる。一般に, n個のスイッチのon/offでは, 「2のn乗の選択肢のどれか」を表すことができる。これを「nビット」の情報量という。では上述の例のように, 『「晴れ」「曇り」「雨」の3つの選択肢のうちどれ?』を表現する場合はどうすればいいだろう? 1ビット(2つの選択肢)では足りない。かといって2ビット(4つの選択肢)では余ってしまってもったいない。しかし足りないよりはましである。そこで, 2ビットとして扱う。その場合, 例えば,

  • 「AがoffでBもoff」は晴れ
  • 「AがoffでBがon」は曇り
  • 「AがonでBがoff」は雨
  • 「AがonでBもon」は欠番(使わない)

というふうに, 4つの選択肢のうちの一つは欠番とするのだ。

バイト(byte)

「1ビット」は概念としてはわかりやすいが, 実際の計算機が扱う情報は, もっとたくさんの選択肢からなる(上述の音楽の例のように)。その場合, 「ビット」は細かすぎて面倒である。そこで, 8ビットをひとまとめにして, 「1バイト」という単位で呼ぶ。1バイト=8ビットである。1バイトは, 2の8乗=256通りの情報を表現できる。これは, 化学で分子数を「個」でなく「モル」で表すのにちょっと似ている(1モル=6.02×10^23個)。

キロバイト・メガバイト・ギガバイト・テラバイト・ペタバイト

1024バイトを1キロバイト(1KB)と呼ぶ。「キロ」が1000でなくて1024なのは、1024が2の10乗という「きり」の良い数(2進数で)であり、なおかつ1000にかなり近い値だからである。1024KBを1メガバイト(1MB)、1024MBを1ギガバイト(1GB)、1024GB を1テラバイト(TB)、1024TBを1ペタバイト(PB)と呼ぶ。

Last modified:2019/01/23 10:35:38
Keyword(s):
References:[IT入門] [画像解析入門: 画像データの基礎知識] [中分解能衛星Terra/MODIS] [2018_実用解析]