[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進数の指定のしかたや、
色指定でのアクセシビリティの方法についてメモっときます。
- 関連記事
-
- [15-6] リストでナビゲーション( li 要素を display で横に並べる)
- [15-5] リストでナビゲーション( li 要素を float で横に並べる)
- [15-4] リストマーカーを画像や任意のテキストに変更する方法
- [15-3] 説明リストを作ろう( dl要素・dt要素・dd要素)
- [15-2] 番号付きリストを作ろう( ol要素・li要素)
- [15-1] リストを作ろう( ul要素・li要素 )
- [14-4] 色指定について(16進数, 色名, 10進数, HSL, accessibility)
- [14-3] データの容量を示す単位(バイト、キロバイト、メガバイト)
- [14-2] 画像形式について(GIF、JPEG、PNG の違い)
- [14-1] ブラウザでソースを表示する
- [13-3] サイト背景にCSSで線形グラデーションをつけよう (CSS使用)
- [13-2] サイトの背景に画像を表示しよう(CSS使用)
- [13-1] サイトの背景に色をつけてみよう(CSS使用)
- [12-2] なんでHTMLとCSSはセットなの?
- [12-1] CSSを外部ファイルにしよう
初心者にも使いやすい(と思う)レンタルサーバー
「初心者ですがレンタルサーバーはどこがいい?」というご質問をよくいただきます。
自由にファイルをアップロードできる自分のサーバがあると便利ですよね。ローカル環境じゃなくサーバ上で試してみたい時がありますからね。
私が使っているのは、
スターサーバーや ロリポップ!
です。どちらも管理画面がわかりやすく、マニュアルも充実していて、料金も安い。どちらもライトプラン以上で WordPress が使えます。
初心者が始めやすいサーバだと思います。
ちょっと料金は高いけど、さくらのレンタルサーバや、エックスサーバー
は、やはり老舗なのでおすすめです。
両方とも高スペックでコスパが良く、老舗でユーザーが多いので、質問する場がたくさんあります。初心者だけど仕事でサーバが欲しい場合は、安心なのではないかと思います。
スポンサーリンク