2進数について教えて下さい
よくメモリーの容量を表す時に、128MBとか表現しますが、その表現の意味をお聞きします。
メモリーはバイト単位でデータが格納されますが、そうしますと仮に1000Bの容量のメモリーの場合は、1バイト(8ビット)のデータを1000個格納できるという事になるのでしょうか?
それと1KBの容量の場合は、どうして1024個格納できる事になるのでしょうか?2を10回かければ1024になりますが、それをどうして1Kという単位になるのでしょうか?
1Kは1000というのでしたらわかりますが、1K = 1024にするのは電気の世界の中だけで、理屈ではなくてそうするんだと独自に定義したものなのでしょうか?もし理屈がありましたら、教えてください。宜しくお願いします。
日時:
03/05/22 15:48
コメント
コンピュータは1K=1024,通信は1k=1000
たまおかさん,こんにちわ。
>メモリーはバイト単位でデータが格納されますが、そうしますと仮に1000Bの容量のメモリーの場合は、1バイト(8ビット)のデータを1000個格納できるという事になるのでしょうか?
ピンポン!
そのとおりです。
>それと1KBの容量の場合は、どうして1024個格納できる事になるのでしょうか?
コンピュータの内部は2進法に基づいてつくられています。
そのため,メモリを扱うときも2進法に基づく数を一つの塊として扱います。
たとえば,メモリを増設する場合など,2進法に基づいた量を単位として増設します。
そのため,1000バイト分のメモリを増設したいと思ったときに,
1000バイト分ピッタリ増設することはできず,1024バイト増設しなくてはいけません。
これは一つの例に過ぎず,他の場面でも2進法で数えたときに区切りのよい数が
一つの単位になります。
だから,1K=1024,と考えた方が1k=1000と考えるより好都合なんです。
たとえば,65536(2の16乗)バイトのメモリを表すときに,
1K=1024と考えれば,64Kバイトと簡単に書けるのに,
1k=1000と考えると,65.536kバイトになってしまい,面倒なんです。
だから,コンピュータの世界では1K=1024と考えるわけです。
それから,この方法をとると,1K=1024と1k=1000とでは違った値になりますから,
両方を区別できないと困る場面があります。
そこで,1K=1024を表す場合は,1Kと大文字で書き,
1k=1000を表すときは,1kと小文字で書く慣わしがあります。
ただ,この小文字と大文字の使い分けは世の中に浸透しているとはいえず,
小文字と大文字を混同している場面も多いので,要注意です。
それから,余談ですが,
通信の技術はコンピュータではなく電話から発達したものなので,
コンピュータと違って,1k=1000と考えるのが通例です。