【基礎知識】コンピュータのnobit(ビット)byte(バイト)って?わかりやすく解説

【基礎知識】コンピュータのnobit(ビット)byte(バイト)って?わかりやすく解説

今回はプログラミングに欠かせない基礎知識としてコンピュータのデータ単位について解説します。

ゲームやWindows OSで32bitとか64bitとかたまに聞きますよね。このbit(ビット)ついての深堀り。また、その上のデータ単位byte(バイト)の知識を一緒に深めていきたいと思います。

結論を先に言いますと以下のようなデータ単位になります。

  • 「bit(ビット)」…コンピュータで扱う最小単位。0と1の2進数で表される。略してb
  • 「byte(バイト)」…bitを8つにまとめたデータ単位。「1byte=8bit」 略してB

bitとbyteについての基礎知識を網羅する記事にしました。それではどうぞ。

photo by Barney Livingston

目次

bit (ビット)

スーパーマリオがジャンプしている様子 - イメージ画像
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ビットの流れです。

コンピュータ - 1のtrue (真/ON) と、0のfalse (偽/OFF)

つまり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」になり、4bit5bitあたりからパターンが膨大になり1つずつ把握するのがかなりの手間になってきます。

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

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

1bit2通り2の1乗
2bit4通り2の2乗
3bit8通り2の3乗
4bit16通り2の4乗
8bit256通り2の8乗
16bit65536通り2の16乗
24bit16777216通り2の24乗
32bit4294967295通り2の32乗
64bit18446744073709551615通り2の64乗

ちなみに歴代のゲーム機のbit数はこのようになります。

  • 「ファミコン」8bit
  • 「スーパーファミコン」16bit
  • 「プレステ2」124bit
  • 「プレステ3」64bit
  • 「プレステ4」64bit

なぜ、プレステ3からbit数が下がっているのでしょうか?

16bit以上は数えきれない位のパターン処理が可能なので、多ければそれで良いという訳でもないようですね。

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

bitの由来

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

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

byte (バイト)

続いてbyteというデータ単位についての解説です。

こちらはbitの1つ上の単位で256通りもの表現をすることが可能です。256通りって上の表にありましたね。

そうです、byteとは8bitのことを指します。「1byte=8bit」

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

基本パソコンで扱われているデータはbyteかそれ以上の単位です。試しにパソコンのフォルダ内にある写真データを覗くとKBで表されているのがわかります。
bitはかなり小さな単位ですが、それを8つ集めたbyteでもデータとしてはまだまだ小さいというわけですね。

ちなみに余談ですが、byte=B。bit=bと略されることもあります。

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

そこでなぜ「1byte = 8bit」 なのかと疑問が出てきますよね。

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

メモ帳 - aだけ打ち込んで保存すると1バイトと表記される

この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(ビット)」と「byte(バイト)」についてわかりやすく解説しました。プログラミングにはbit単位で操作するビット演算子なるものがあります。

内容をまとめると以下のようになります。

  • 「bit(ビット)」… コンピュータで扱う最小単位。0(OFF)と1(ON)で表される。
  • 「byte(バイト)」… bitを8つにまとめたもの。【8bit=1byte】


✅「プログラミング初心者」に関連する記事が他にもあります。
【関連記事を読む】【図解】「 2進数=10進数=16進数」変換する為の計算方法を解説

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次
閉じる