PC等を使っていると、ビットやバイトという単位がよく出てきます。

ビットやバイトは何かというと、データの単位で、

メモリーやディスクの容量なんかを表す場合に使います。

 

ではビットとバイトの違いは何か?

大雑把に言うと、バイトはビットの集合です。

 

ビットとは?

まずビットについてですが、ビットというのはデータの最小単位です。

コンピュータはデータを電気信号として処理していますが、電気信号で

情報を表す場合、オンかオフかの2通りしかありません。

 

例えばこれを数字で表す場合0をオフ、1をオンとしたとします。

この場合、表される数字は0と1の2パターンです。

この単位をビットといいます。

 

じゃあビットで「2」を表す場合はどうすればいいか?

もうひとつビットを追加して2桁で表せばよいと言う事になります。

ようするにこうなります → 0は00 1は01 2は10

ビットが2つ集まったので2ビットという単位になります。

 

また、ビットのように0と1の2つの数字だけでの表現方法を「2進数」と言います。

我々が普段から使っている数字は0~9までの10通りの数字を使いますので「10進数」です。

○進数の○の部分を基数といい、例えば2進数を10進数で表記する場合、

基数が2から10に変わるため「基数変換」などと言ったりする事もあります。

 

ただ、このままでは使いづらいので以下のように対応表を作ると少しわかりやすくなります

コンピュータでよく使われているものは以下の4種類です。

2進数

8進数

10進数

16進数

0

0

0

0

1

1

1

1

10

2

2

2

11

3

3

3

100

4

4

4

101

5

5

5

110

6

6

6

111

7

7

7

1000

10

8

8

1001

11

9

9

1010

12

10

A

1011

13

11

B

1100

14

12

C

1101

15

13

D

1110

16

14

E

1111

17

15

F

このように表現できる数字が足りなくなったら桁が繰り上がるのは

我々が使っている10進数でも同じです。

16進数に至っては数字が足りないのでアルファベットで表現します。

上の表見てわかるように、8進数1桁は2進数の3桁分

16進数1桁は2進数の4桁分に対応します。

 

バイトとは?

次にバイトです。上の方でビットの集合と書いていますが、ひとつの処理単位のようなもので

現在普及しているコンピュータやデバイスでは1バイトは8ビットで表されています。

つまり、8桁の2進数で表される単位が1バイトということになります。

上の表の2進数を見ると4桁までで表されています。

8ビットならば1111 1111 つまり、0~255の256通りの表現が可能です。

16進数で表すと0~FFです。

 

なぜ8ビットかというと、どうやら英語圏の人が文字を表すのに記号も含めて

256通りもあれば、お釣りが来るぐらいだからだという話らしいです。(その辺は詳しく知りません)

※7ビットしか使わない文字にASCIIコードと言うものがありますが文字コードの話はまた今度。

 

なので、1バイトは必ず8ビットだとは限りません。

コンピュータによっては1バイトが6ビットだったり9ビットだったりするかもしれません。

ただ、現在普及しているコンピュータは8ビットを1バイトとしているので1バイト=8ビット

と覚えても問題はないでしょう。(そもそも1バイトが8ビット以外の処理系を見たことないしw)

 

正確に8ビットという事を表現したい場合は、1バイトではなく、1オクテットといいます。

1オクテットはその名どおり、必ず8ビットです。

 

IPアドレス(IPv4の場合)は32ビットを8ビットずつ4つに分けて表現しますね。

この4つに分けた8ビットの塊1つを「オクテット」と呼びます。

これはどんな処理系でも必ず8ビットであるという事を強調しているようなものですw

IPアドレスとかネットワークに関してもまた別の機会にでもw

 

また、2バイトをワード、4バイトをダブルワードとか言ったりする場合もあります。

 

 

さて、ここまで長く書きましたがもう少し続けますw

 

データのサイズを表したりするバイトですが、ただの「バイト」だけだとデータ量を表すのにも

物凄い桁数で表さなければなりません。 

 

そこで単位にキロやメガをつけるわけです。

わかりやすい単位だと、1kg=1000g、1km=1000mなどがありますね。

つまりキロは1000倍を表します。

 

ではメガは?キロの1000倍、つまり100万です。フリーザ様の53万より大きいですねw

バイトの単位でもキロバイト、メガバイト、ギガバイト、テラバイトと単位があります。

これも単位ごとだいたい1000倍ずつぐらい増えていきます。

 

このだいたいとはどういうことでしょう?

情報の最小単位がビットだと書きました。

コンピュータの最小単位であるビットは2進数です。

なので1000とかいう10進数の単位で表すよりも2進数を基準に考えた方が

色々と都合がよい場合もあるんでしょうね。

下の表のように表されます。

1キビバイト

1キロバイト

2の10乗=1024バイト

1000バイト

1メビバイト

1メガバイト

2の20乗=1024キビバイト

1000キロバイト

1ギビバイト

1ギガバイト

2の30乗=1024メビバイト

1000メガバイト

1テビバイト

1テラバイト

2の40乗=1024ギビバイト

1000メガバイト

1ペビバイト

1ペタバイト

2の50乗=1024テビバイト

1000テラバイト

はて?

キビ?メビ?キロとかメガとかじゃないの?

はい、2進数を基準で考えた場合はキビバイト(KiB)やメビバイト(MiB)、

10進数を基準で考えた場合はキロバイト(KB)やメガバイト(MB)

で表すのが最近では流行って来ているとか。

 

1キビバイト(KiB)は1000バイトとして扱うのは間違いですが、

1キロバイト(KB)は1000バイトとして扱ったり1024バイトとして扱ったりと

なんかもうバラバラのようです。

プログラムを組む時は2進数単位の方が個人的にしっくり来るので

1024バイトを1キロバイトとしてよく扱います。

 

2進数は10桁増えるごとに1024倍ずつ増えます。

なので1000ではなく、1024が単位となっているのでしょう。

パソコン等で情報の単位を見ると1024バイト=1キロバイトで計算されています。

(単位はキビじゃないのに1024です)

 

 ディスクやメモリの容量を表すのに使うバイト単位を使用していますが、こんな経験はないでしょうか。

 

 1TBのハードディスクを買ったのにいざパソコンにつないだら

930ギガバイトぐらいしか容量がない!!残りの94ギガバイトはどこいった!?

 

はい。

ご愁傷様です、騙されたんですw

いや、というのは半分冗談で、実はこういうディスクなんかの記憶媒体の容量は

1024単位ではなく、1000単位で計算しているため誤差が生じているのです。

PCでは1024単位でキロやメガで扱うのに、もうなんかややこしいですね。

 

こんな感じで長々と書きましたが色々と端折りもしました。

ビットとバイトの関係はこんな感じになっています。

 

アルファベットの表記でも

1メガバイトは1MB、

1メガビットは1Mb

というように、バイトは大文字、ビットは小文字になっている場合が多いです。

 

回線速度なんかはビット単位が多いですね。

光回線100Mbps!と言った場合は、1秒間に100メガビットの情報を理論上送信可能です。

100メガビットといったら、8ビットで1バイトならば1秒間に送信できるデータは12.5メガバイトですね。

 

ま、実際には理論上の半分も速度が出た事はないですけどねw

 

ちょっと余計な話も加わりましたが、今回はこの辺で。

 

Windowsを扱ってる人は「拡張子」というものを聞いた事があると思います。

では、この拡張子というのは何なのかというとファイルの種類を表すものです。

テキストファイルであれば「XXXXX.txt」

写真などの画像ファイルであれば「XXXXX.jpg」

といった感じでファイル名の後ろにつく「.txt」や「.jpg」を指します。

 

この拡張子によって、そのファイルをクリックした時、

どのプログラムが立ち上がるかが決まります。

たとえばXXXXX.txtというファイルだった場合は

メモ帳等のテキストエディタが立ち上がり、

XXXXX.jpgのような画像ファイルであれば、

Windowsフォトビューアー等が立ち上がります。

 なので、画像ファイル等の拡張子を「.jpg」から「.txt」に変えると

画像ファイルなのにメモ帳が立ち上がります。

 

img00002
登録されている拡張子を変更しようとすると、こんな感じで

いかにもファイルが壊れるぞみたいな警告が出ますが

拡張子を変えてもファイルの中身には一切影響ありません。

 

ファイルの中身は何も変わらない(画像データのまま)なのに

メモ帳で無理矢理開いてしまいますので中身は文字化けしたような

メチャクチャな内容で表示されてしまいます。

ただし、この状態でメモ帳で保存をしてしまうとファイルが壊れてしまい、

拡張子を戻しても開けなくなります!

 

例えば次の内容をメモ帳で保存したとします。

img00004img00003

ファイル名は「めいぼ.txt」です。

これをダブルクリックしてみると、メモ帳で保存した内容が表示されます。

では、拡張子を「.csv」に変更してみます。
img00005

ファイルのアイコンが変わりました。

中身は何も変わっていません。

これをメモ帳で開いても↑と同じようにきちんと開けます。

じゃあ、ダブルクリックして開いてみると・・・
img00006

Excelが立ち上がり、Excelが開きました。

しかもセルにきちんとはまり込んでいます。

これはCSVデータといって、項目が,(カンマ)で区切られたデータで、

ExcelはCSVファイルを開く事が可能なのでこのように開く事ができるわけです。

当然、ExcelがインストールされていなければExcelでは開けませんw

また、通常であればExcelの拡張子は.xls(~2003)、.xlsx(2007~)となっていて、

中身はExcelしか理解できないデータ構造となっているため、こいつをメモ帳で開いても

画像ファイルのように文字化けした状態になります。

 

このように拡張子はどのプログラムで開くかを選択しているだけです。

 

拡張子をどのプログラムで開くかは設定が可能です。

ファイルの関連付けと言ったりもします。

Windows7ならば、コントロールパネルに「既定のプログラム」なるものがあるので

そこから設定できます。

 

拡張子がどのプログラムにも関連付けされていない場合は

通常、Windows7ではこのようなアイコンになってます。

img00007

 

WIndows7等では、初期状態では登録されている拡張子を表示しないようになっています。

img00001

    ↑初期状態では青い枠にチェックが入っている場合が多い。

 

どう言う事かというと、「この拡張子はこのプログラムを起動します」という関連付けが

行われているものは拡張子が表示されません。

例えば、めいぼ.txtの場合、.txtはメモ帳と関連付けされているのでエクスプローラー等で見ると

「めいぼ.txt」ではなく、拡張子が隠れて「めいぼ」とだけ表示されます。

ただし、アイコンで区別がつくのでたいして問題はありません。

 

個人的には拡張子が表示されないのは気に入らないので表示するようにしてますけどw

 

また、この拡張子とアイコンの表示を偽装してウィルスに感染させようとする

プログラムもありますので注意が必要です。

 

長くなったのでその話はまた今度にします。

前へ  16 17 18 19 20 ]      97件中 96-97件