[14-3] データの容量を示す単位(バイト、キロバイト、メガバイト)

最終更新日:2017年10月31日  (初回投稿日:2011年05月20日)

コンピュータ上で扱うデータサイズ(データの容量)を示すのに、KB(キロバイト)、MB(メガバイト)などの単位が使われます。
「じゃあ「バイト」って何よ」というところから話を始めます。

●この「単位について」は、「文字コード」関連で「余談」として書きましたが「別記事にしたほうが検索しやすい」とご指摘をいただき、今回の1記事にまとめることにしました。
●この記事は、実際は2013年02月にアップしたものですが、ページ下部の時系列のインデックスから外れてしまうので、初回投稿日を2011年5月にしています。

コンピュータは2進法の世界

コンピュータは 2進法 の世界です。2進法とは「0と1しか無い」世界。
「0」か「1」だけで信号を送っています。
この 0 や 1 も、ヒト用の表記。
コンピュータにとっては「off」「on」なんです。

★ちなみに、2進法の数値 = 2進数。「2進法」と「2進数」の違いはコレ。

電圧の強弱で、オフで 0、オンで 1 って信号を、ものっすごい速度で送ってるそうです。
昔々、この方式が最もミスが出にくくて良かったので、コンピュータはこうなったんだそうです。
テキストを表現するのも、この 0 か 1(off か on)の組み合わせで信号を送ってるんだって。

2進法と 10進法の違い

10進法だと 0 から始まって 9 までが 1桁(ケタ)、次は「10」で 2桁になりますね。

2進法だと、0 から始まって次は 1 なのは同じですが、その次はいきなり「10」。
0と1だけの世界なので「2」という概念がありません

1+1 = 10。2桁目に上がっていきます
その次は 11、次は100、101、110、111、1000、1001…と続き、ケタがガンガン上がっていきます。

他にコンピュータでよく使うのに、16進法もあります。こっちはなかなかケタが上がらない。なので、少ない桁数でたくさんの数を表せて便利。 ウェブの色指定で使います。→ [14-4] 色指定について(16進数、色名、10進数、パーセント)

最小単位は1ビット、それを複数にした次の単位が1バイト

この「0」か「1」の最小の信号 1 個を 1ビット(1bit)と呼びます。

「bit」「binary digit(バイナリ ディジット)」の略。
binary とは 2進数のこと。digit は 1桁のこと。
まんま「2進数の1桁」ってことで、わかりやすいですね。
ちなみに、この digit から digital(デジタル)という言葉が生まれたそうです。

1bitだと、2進数の1桁だけ。0か1の2通りしか表現できません。
で、bitを複数にして(桁数を増やして)1単位にしたのが「バイト(byte)」です。

1byte = 8bit(8桁)だと思ってOK。
ただし1byte = 7bit(7桁)の場合もあります。

7bit の場合については「(ちょっとメモ)文字コード、文字集合、エンコードについて(1)」で 少し触れています。

ちなみに、8ビット限定で1単位にしたい場合のために「octet(オクテット)」という単位もあるそうです。1octet = 8bit です。「octo」はラテン語で「8」。

音階で1オクターブ(octave)とか、蛸はオクトパス(octopus)と言いますよね。8本足だから。
「October」は、古代ローマの8番目の月で、現在の10月だって。

とにかく、8bit だと 8桁(7bit なら 7桁)で、信号を伝えます。
7bit(7桁)だと 0 から最高 1111111まで、128通りあるんです。
8bit(8桁)だと 256通り。けっこうありますね。
コンピュータで、128(イチニッパ)、256(ニゴロ)という数字の読みを良く聞きますが、2進法の数字だったんですね。

分かりやすいように図にしてみました。

byteの次の単位は…メートル法に準じた表現に

1bit が最小単位。
1bit が 8桁ないし 7桁集まった単位が 1byte。ここまで2進数ですね。

このあとですよ。
1byte が 1,000個集まって 1,000byte だと、1Kirobyte(KB(キロバイト))。
次は 1,000KB で 1MB(メガバイト)
…こうやって 1,000個で次の単位に上がります。(メガの次はギガ、その次はテラ)

これメートル法じゃね? 2進法どうなった?
って思いますよね。(10進数で 10の3乗 = 1,000 ずつアップするのはメートル法)

実際の値は、ちゃんと2進法のままなんですってよ。

でも、可読性が悪い(111000010000010…とか、230とか書かれてもすぐにはわからん)からメートル法に準じた表示しているだけなんだって。
(ちなみにメートル法は10進法の世界。10進法は人の手の指が基本10本だから生まれたそうです)
人間が わかりやすいから

本当の値との間に差があるけど、慣習だからいいの

本当は2進法での数値なんだけど、10進数で表示している。
だから当然、表示された数字と本当の値との間に差があるんです。

コンピュータ上で使われる単位と、10進法、2進法での数値を表にしてみました。

コンピュータ上の単位 10進法 数値の日本語読み(US英語読み) 2進法
KB(キロバイト / kilobyte) 103 (thousand) 210
MB(メガバイト / megabyte) 106 百万(million) 220
GB(ギガバイト / gigabyte) 109 十億(billion) 230
TB(テラバイト / terabyte) 1012 一兆(trillion) 240
PB(ペタバイト / petabyte) 1015 千兆(quadrillion) 250
EB(エクサバイト / exabyte) 1018 百京(けい)(quintillion) 260
ZB(ゼタバイト / zettabyte) 1021 十垓(がい)(sextillion) 270
YB(ヨタバイト / yottabyte) 1024 抒(実際は禾に予)(じょ)(septillion) 280

最初の、1,000(103)バイト=1キロバイトでは、
2進法の数値は、210 が当てはめられてます。
2の10乗 = 1024。本当の値は1,000バイトじゃなくて、1,024バイトです。
でもこのくらいならまだ「まいっか。だいたい1,000だから」って思えるよね。

しかし、例えば TB(テラバイト)を見ると、
10進法だと1012で、1TB=1,000,000,000,000(1兆)バイト ってことになります。
2進法だと 240 は、 1,099,511,627,776 バイト(1兆とんで995億1162万7776バイト)。
995億バイトって、99.5ギガバイトです。

1テラの外付けHDDとか買ってたら「え"ーっ?100ギガ近く違うじゃん。ぼったくり?」って思いますよね。

でも大丈夫。
表現が10進法なだけで、データ量的には 2進法の量のまま
ヒトに分かりやすい 10進数で表記するのが慣例になっているだけ。

外付けHDを買って、パッケージのオモテ面に「1テラ」って書いてあるのに、裏面みると「1,099,511,627,776 byte」とか書いてあるのは、丁寧に 2進数表記もしてくれてるってこと。(苦情が来るのかなあ。やっぱりw)

この記事で累乗計算するのに、CASIO の "高精度計算サイト" 内の「累乗」(作者:Enpitsu さん)を使用させていただきました。

次回予告

次回はウェブでの色指定についてまとめます。
よく目にする「#F5F5F5」のような16進数の指定のしかたや、 色指定でのアクセシビリティの方法についてメモっときます。

関連記事
このエントリーをはてなブックマークに追加

やる気を保つためにランキングに参加しています。
応援してくださると すっごいやる気を出します! (笑)

初心者にも使いやすい(と思う)レンタルサーバー

「初心者ですがレンタルサーバーはどこがいい?」というご質問をよくいただきます。
自由にファイルをアップロードできる自分のサーバがあると便利ですよね。ローカル環境じゃなくサーバ上で試してみたい時がありますからね。
私が使っているのは、 スターサーバーロリポップ!です。どちらも管理画面がわかりやすく、マニュアルも充実していて、料金も安い。どちらもライトプラン以上で WordPress が使えます。
初心者が始めやすいサーバだと思います。

ちょっと料金は高いけど、さくらのレンタルサーバや、エックスサーバー は、やはり老舗なのでおすすめです。
両方とも高スペックでコスパが良く、老舗でユーザーが多いので、質問する場がたくさんあります。初心者だけど仕事でサーバが欲しい場合は、安心なのではないかと思います。

スポンサーリンク

コメントの投稿

ご注意:メールアドレスは書かないで
「コメントを送信する」ボタンを押した後の「確認画面」で、メールアドレス・URL などを入力できるようになっており、メールアドレス・URL は、そのままオートリンクになる仕様です。
当方でメールアドレスだけ削除することも、メールアドレスを非公開にすることもできません
メールアドレスは書かないでください。詳しくはこちらにまとめましたのでご覧ください。

スポンサーリンク
最新記事
Category
オススメの本
Links
Calendar
11 | 2023/12 | 01
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 - - - - - -
Archive
Profile

yuki★hata

Author : yuki★hata
せめて月1回の更新をめざします~。

メールフォームはこちら

スポンサーリンク
スポンサーリンク
Copyright © ほんっとにはじめてのHTML5とCSS3 All Rights Reserved.