ホームへ
  サイトマップ


単位とbit/Byteについて

今更、単位やbit/Byteに付いてでは無いでしょう。
(ここは単なる確認のページです。)

単位について
単位の接頭語について

長さの単位mm、cm、m、Km等、水等の容量dl、l等、重さg、Kg等と基本の単位の前に位を表す文字をつけて単位を表していますね。

m、c、K等は、単位の位を表しています。
例えば、mは基本単位の1/1000倍を表します。逆に、Kは1000倍の値を示します。
(長さの単位は“m”ですが、1mmは1m/1000、1Kmは1mx1000となります。)
もし、この接頭単位が無かったとしたら、パソコン(以下PC)で使用しているハードディスクドライブ(以下HDD)の容量を表す場合、最小単位はB(Byte)ですが、100GBの場合は、100000000000Bと表示しなければなりません。解りずらく不便ですね。(正しくは、GBは 1024(K)X 1024(M)X 1024(G)です。)
そこで、単位の接頭語なるものが有ります。これを表にまとめてみました。
* 1/10は10
-1 、1/100は10-2 、1/1000は10-3 という風に、基本単位(100)より値の小さい位の方は10−nで表記し、逆に大きい位は、10は101 、100は102という風に、10 と表記しています。
乗数 記号 名前
10 18 E Exa(エクサ)
10 15 P Peta(ペタ)
10 12 T Tera(テラ)
10 9 G Giga(ギガ)
10 6 M Mega(メガ)
10 3 K Kilo(キロ)
10 2 Hecto(ヘクト)
10 1 D Deca(デカ)
10 0 - -
10 -1 Desi(デシ)
10 -2 Centi(センチ)
10 -3 Milli(ミリ)
10 -6 μ Micro(マイクロ)
10 -9 Nano(ナノ)
10 -12 Pico(ピコ)
10 -15 Femto(フェムト)
10 -18 a Atto(アト)
表以外にも、もっとありますが、この程度解れば通常は十分でしょう。
例えば大きい位の方は、Z、Y、と続き、小さい位の方は、z、yと続きます。

基本単位より大きい位は大文字で表し、位の小さい方は小文字で表しますが、例外もある様で、例えば面積を表す“ha”(ヘクタール)が有ります。

bitとByteの話

bit(ビット)とは
パソコンでは良く、bitという言葉が出てきます。
“このパソコンは、32bitマシンです。”とか、“このOSは、64bitです。”とか良く出てきますね。
パソコンには、アドレスバス、データバスという配線が有ります。(他にも、システムなどで使用しているバスが有ります。)
アドレスバスは、PCはなんらかの動作をするとき、どの場所を対象するのかを決めて動作します。
この、どの場所かを指定するのが、アドレスバスの役目です。場所(住所)を特定するので、アドレスと言ってます。
例えば、メモリに書き込む場合、どの場所に書き込むか、何か機器を動作させるには、どの場所の機器か指定して動作をします。

PCは、1本の線(PC内部の線)で表す事の出来る数は、2つしか有りません。0と1、つまり2進法が使われています。デジタルでは、信号が有るか無いか(高いか低いか)の2つの状態しか有りません。実際にはデータを表すのに、線1本では足りませんね。(1本の線で行うシリアル転送もありますが。)そこで、複数の線を使用します。この線1本で表している所を、bitと言います。例えば、データを送る線が、8本の線が有れば、8bitと言い、これが8bitCPUマシンとなります。
8bitマシンのCPU(中央処理装置)には、8本のデータ線(バスと言います。)が有ります。これは、2の8乗の数が扱えると言う事です。もし、8bitで足らない場合は、データを分割して処理します。
○○bitマシン(CPU)という場合は、このデータバスの数を言っています。

 参考)バス
 ここで言うバスとは、乗合自動車の事です。(路線バスや観光バスのバスの事)
 なぜバスと言うかと、その時々で色々なデータが、一つの線に乗り合わせるためです。

現在は、32bit以上のマシンですね。以前は、CPU=1コアでしたが、最近は、2コア、4コアのものになり、6コア以上のものもあります。(最近は、多くのコアを持つMany-Coreに入ってきたようですね。)例えば、2コアとは、簡単に言うと、1つのCPUケースに、CPUが2つ入っていると思ってください。見た目は、1つにしか見えません。
アドレスバスは、データバスで送るデータの行き先を決めるバスです。アドレスバス長で取り扱えるメモリの容量が決まります。

Byte(バイト)とは?。

さて、bitが最小の単位である事はお解りいただけたと思いますが、Byte(バイト)とは何でしょう。
簡単に言うと、1ビットが8つ集まったものを、1Byte(バイト・普通Bだけで表す事が多いです。)と言います。

2Byte(16bit)の塊でWord(ワード)、4Byte(32bit)の塊をLongWord(ロングワード)等と言う事が有ります。

参考:2進法)
PCでは、バイナリ(2進法)、デシマル(10進法)、ヘキサデシマル(16進法)が多く使われます。
オクタル(8進法)も使われる場合が有ります。

PCは、2進法以外は理解できません。
しかし、人間にとっては、10進法以外は理解しにくいですね。

2進法
 0と1しか有りません。(PCでは電気的に電圧が高いか低いかの判断しかしていません。)
 例えば、高い方を1、低い方を0とします。
 1つの桁(bit)で表されるのが、0と1です。

例えば、8桁(8bit=1Byte)では、0から255の数を表せます。
 0000000 〜 11111111までです。
 実際には、10011010などの様に表示されます。
 8桁もあると解りずらく間違いやすいので、4桁ずつに区切って表記します。
 例えば、上記の値は、1001と1010の二つに分けて表示します。
  1001  1010と間をスペースで開けます。
  1010を10進数で表すと、10になります。

しかし、これでも間違いやすいので(表示スペースも多くとります。)さらにこれを16進法で表示します。
例えば、10進数で12と記述が有った場合、1と2なのか12なのか間違いやすいですね。

16進数表記方法
9までは10進数と同じで、10はA、11はB、12はCという具合に、F まで使って表記します。
例えば、10・1・0・15の10進数は、16進数では、A10F の様に表記します。
通常は、Byteを上位4bit下位4bitずつに分け、例えば10進法で“5・15”なら、16進法では“5F” の様に表記します。
さらに2桁ごとにスペースで区切ります。
例) “01  26  FE  4C  A1”等の様に表記します。
2進数 10進数 16進数
0000 - 0
0001 - 1
0010 0と1しか表せないので桁上がりします。
桁上がりしたので、1桁目は0となります。
(10進数の場合9の次は10ですね。)
以下桁上がり
2
0011 - 3
0100 桁上がり 4
0101 - 5
0110 桁上がり 6
0111 - 7
1000 桁上がり 8
1001 - 9
1010 桁上がり 10 A
1011 - 11 B
1100 桁上がり 12 C
1101 - 13 D
1110 桁上がり 14 E
1111 - 15 F
  ↑(上の4桁2進数)の事を 1248コード等と呼びます。

2進法の桁は、2
の様になります。
n=10桁の場合は1024数えられるので、1KB=1000B ではなく、1KB=1024Bとなっています。
同様に、1MB=1024KB=(1024Bx1024)B=1048576B となります。

ページトップ
inserted by FC2 system