「基礎知識」 コンピュータで使われるデータ単位bit、byteって?

bit

今回はコンピュータのデータ単位についてです。ゲームハードやWindows OSで32bitとか64bitとかたまに聞きますよね。その事についてまとめてみました。

SPONSORED LINK

photo by Barney Livingston

▼この記事の目次

  1. bit (ビット)
  2. byte (バイト)
  3. 「その他」コンピュータで扱う単位
  4. この記事のまとめ

bit (ビット)

mario
photo by sylaf

bitとはコンピュータで扱うデータの最小単位となります。1と0で表すデータの事で、パソコンの画像、文字、ソフトウェアなどの全てのデータは元を辿ると1と0だけの数字なのです。
コンピュータは1のtrue (真/ON) と、0のfalse (偽/OFF) という2進法で計算しているのですが、この1または0と返す一つの動作を1bitと表します。データの記憶領域の事を指して呼んだりもします。

わかりやすく1がON、2がOFFと書きましたが、もう少し砕いて解説すると電圧の高低でHighレベル (高) なら1、Lowレベル (低) 0 を返しています。それが1ビットの流れです。

bit

つまり1つのbitは1か0のどちらかを選択出来ます。これが2bit (1~2列) 、3bit (1~3列) 、4bit (1~4列)・・・ とだんたんデータ単位が増えていくと、組み合わせの幅が広がっていきます。

1bitなら「1、0」の2通りですが、2bitなら「10、01、00、11」の4通りになり、3bitなら「100、101、110、111、000、001、010、011」になり、4bitあたりからパターンを一つずつ把握するのも面倒になってきます。

ではこのbit数によるパターンをどうやって求めるかというと累乗で求めます。4bitの場合は2の4乗で16通りです。2の4乗というのは2を4回掛けるという意味です。(2x2x2x2=16)
なので4bitだと16通りの表現が可能という事になります。

▼bit数によってどの位のパターンの処理が出来るのか一覧にしてみました。

1bit 2通り 2の1乗
2bit 4通り 2の2乗
3bit 8通り 2の3乗
4bit 16通り 2の4乗
8bit 256通り 2の8乗
16bit 65536通り 2の16乗
24bit 16777216通り 2の24乗
32bit 4294967295通り 2の32乗
64bit 18446744073709551615通り 2の64乗

ちなみにファミコンは8bit、スーパーファミコンは16bit、プレステ2は124bit、そしてプレステ3になって64bit、プレステ4も64bitです。そしてなぜ、プレステ3からbit数が下がっているのでしょう?

OSやゲームのbit数に関しては筆者自身だいたいの把握になりますが、16bit以上は数えきれない位のパターン処理が可能なので多ければ良いという訳でもないようです。

bit数のデータ容量はあくまでもインフラ (ここでは道路としておきましょう) なので、ある程度まで大きくなったインフラではその道を通るデータ (車) の量・質・種類の方が重要になってくるのです。多分。

bitの由来

bitといえば英単語としてのbitです。bitはごくわずか・ほんの少しというようなニュアンスで使われています。

英単語としての意味も多少含まれているかもしれませんが、binary digit (2進数) を略したのがbitの由来だと言われています。

byte (バイト)

byteというデータ単位があります。こちらはbitの一つ上の単位で256通りもの表現をする事が出来可能です。
ん?256通りって上の表にありましたね。

そうですbyteとは8bitの事を指します。8つのbitを集めて1byteという大きさのデータ単位です。1bitという単位はデータとして扱うのには小さすぎるので1byteとしてまとめているわけです。

基本パソコンで扱われているデータはbyteかそれ以上の単位です。試しにフォルダやファイルデータ

byteはBと略される事もあるらしいですが、bitの略がbなので書くのは簡単ですしbyteでいいと思います。

「なぜ、8bit?」 1バイト言語・2バイト言語

そこでなぜ「1byte = 8bit?」 なのかと疑問が出てきますよね。コンピュータの発祥は米国なので、当然ですが基準はアルファベットとなります。 そして半角英数の1文字分を表現する時に必要なデータ量が8bitです。
試しにパソコンでメモ帳を作って「a」とだけ書き込み保存します。そのメモ帳のプロパティを見るとサイズの所に「1バイト」と表示されています。

bit2

この8bitは1960年代にIBM社が発売したパソコンが始まりと言われていますが、それが引き継がれていって今に至るといいます。昔は今のようにお決まりの8bitではなくて5bitや7bitとかも使われていたのだとか。

そして日本語は1文字2byteで表現できます。例外はあるようですが、基本は全角文字の1文字あたりのデータ量は2byteなのです。先ほどのメモ帳のように「あ」と1文字だけ入力し保存してプロパティを見ると「2バイト」と表示されています。

このように1byteで表現できる自然言語を「1バイト言語」、2byteで表現できる自然言語を「2バイト言語」とコンピュータの世界ではそう呼んでいます。

1バイト言語 / シングルバイト文化圏

英語、フランス語、ドイツ語

2バイト言語 / ダブルバイト文化圏

日本語、中国語、韓国語

「その他」コンピュータで扱う単位

bit、byteがどういったものなのかを覚えたついでにbyteよりも大きな単位も見ていきましょう。各単位ともに1024倍で次の単位になります。なぜ1024という数値になるのかというとコンピュータは2進数なので2の10乗で1024倍なのです。

また、1024倍にしたもう一つの理由がコンピュータ以外の世界では一般的に10進数が使われています。そして2進数では2の9乗の数値が512で、次の2の10乗がちょうどきりが良く1024となり10進数で見たきりがいい数1000と近い数値のためにそうなったとも言われていますし、HDDの中身の計算は2進数、10進数両方の側面があるからというのもあります。

なおKBは1024ですが、kを小文字でkB = 1000 と区別する事もあります。

単位一覧

  • 「KB (キロバイト)」… 1KB = 1024byte
  • 「MB (メガバイト)」… 1MB = 1024KB
  • 「GB (ギガバイト)」… 1GB = 1024MB
  • 「TB (テラバイト)」… 1TB = 1024GB
【TBより上の単位】

TBの上の単位は「PB (ペタバイト)」「EB (エクサバイト)」「ZB (ゼタバイト)」「YB (ヨタバイト)」となります。ヨタともなると世界規模、それ以上のデータ量になってしまうと言われていますので考えらえない位の数値です。

このヨタという数値が定義されるまではなんだか反応してしまいそうな名称の、オタ (otta) とも言われていたというのだとか・・。これらの単位を10進数で漢数字の単位に訳すとテラ = 1兆、エクサ = 100京というもはやどうでもよくなってくる位の果てしない数値になります。

GB、TB以上の単位は現状で現実的に使う機会はないと思います。

通信速度で使われている単位

一方通信速度で扱われているデータの単位では「Mbps」「Gbps」などです。モバイル通信速度の話題になるとよく使われている単位ですね。

1bps = 1秒間に何bitのデータ量を転送できるか
これはネット通信で送る事ができるデータ量を表す単位で、最小の単位だと「bps」で「bits per second = 1秒ごとのbit数」 という意味になります。なので「1bps / 読み…ビーピーエス」だと1秒間に1bitのデータを伝達できるという事です。

「Kbps」だと「Kiro bite per second」の略で読みは「キロ・ビーピーエス」という事になります。こちらは1秒間に何キロbit転送できるかという事になります。

こちらも2進法による計算方法と10進法による計算方法と二通りありますが2進法で見てみましょう。

「転送速度」データ単位

  • 「Kbps (キロ・ビーピーエス)」… 1Kbps = 1024bps
  • 「Mbps (メガ・ビーピーエス)」… 1Mbps = 1024Kbps
  • 「Gbps (ギガ・ビーピーエス)」… 1Gbps = 1024Mbps
  • 「Tbps (テラ・ビーピーエス)」… 1Tbps = 1024Gbps

この記事のまとめ

今回これらの単位をまとめたのは、プログラミングでbit単位で操作するというビット演算子なるものがあったからです。次回はJavaの演算子について記事にしたいと思います。

関連記事




この記事が気に入ったら
いいね!しよう

最新情報をお届けします

Twitterでめちゃログをフォローしよう!