電子書籍の厳選無料作品が豊富!

よろしくお願いします。
PCの容量は2のべき乗で1024倍を一区切りとしてKB・MB・GB・TB・・・と容量が変化していますが、この1024は保存容量ではどう取り扱われているのでしょうか?
アドレス管理として用いられている場合、具体的にどう1024が扱われているのでしょうか?

A 回答 (6件)

「1024」は単に2進数の途中に過ぎません。


例:2→4→8→16→32→64→128→256→512→1024→2048→4096→・・・

>・・・KB・MB・GB・TB・・・と容量が変化していますが、

キロ(10の3乗)・メガ(10の6乗)・ギガ(10の9乗)・テラ(10の12乗)、これらの基準は10進数です。
2進数表記では一般的に分かりづらいのでKB・MB・GB・TBと10進数表記を使用しています。
さらに乗数を見て分かるように10の3乗(1000)ごとに単位の呼称が変わります。
そこで10の3乗である「1000」に近い「1024」ごとに呼称が変わっている訳です。

「1024」そのものに特別な意味があるわけではありません。
10進数呼称を利用した場合の単位呼称(K・M・G・T)の区切りということです。
    • good
    • 0
この回答へのお礼

U-Sevenさんありがとうございます。
K→M→G→T・・・は確かに1000倍ずつ変化してますね。
しかしこれは人間のわかりやすい10進数で表しているだけで、
本当はパソコンの世界で用いる2進数で区切る。
1000にちかい2進数すなわち1024で区切るということですね。

そう考えると、単純に1000に近い数字だからで解決しますね。
アドレス管理とかそういう問題ではなかったのですね。

もうしばらく意見を募って締め切ろうと思います。
ありがとうございました。

お礼日時:2008/04/23 23:10

ども。


初級シスアド、システム管理実務です。

遅くなりました。

>ところで、なぜ16進数に置き換えたのでしょうか?
>きっと400として扱うことに意味があるのだと思うのですが…。

これはですね。
U-Sevenさんの回答と質問者さんのお礼にあるように、

■人間がわかりやすいように10進数で表現している。
■コンピュータの中では2進数しか扱わない。
■2進数で表現すると長くなり、扱いにくいから16進数で表現する。

ですね。
4ビットで16進数とし、8ビットをオクテットとしてまとめて扱い、これを1バイトと数えたものですね。

コンピュータができたころは、この単位が最小単位であり現在のような数TBのような天文学的大きな数字を扱うことが考えられなかったのではないでしょうか?

1バイトや2バイトで表現される文字のデータをわざわざ1024バイトのサイズで表現することは無駄ですものね。

ちなみに私はプログラマとしてはだいぶ遠ざかっていましたが、16進数を表現するときは&hをつけて、
「&h400」
と表記していましたが、今はどうなんでしょう。

C言語でも16進数はアセンブリを途中に入れないとなかなか使わなかった気がします。
バイナリエディタでメモリないのデータやディスク領域を参照すると16進数で表現されていますね。

また、IPアドレスもIPv4では10進数でしたが、IPv6では16進数ですね。近い将来移行するはずですが…。どうなることやらですね。
    • good
    • 0
この回答へのお礼

AmuroRayさん。
ありがとうございます。
16進数。なんでこんなややこしいとおもっていましたが、10進数と2進数のいいとこどりをしていたのですね。
パソコンの中の事情がわかってきました。

ありがとうございました。
今週いっぱい様子をみて締め切らせていただきます。

お礼日時:2008/04/27 14:59

数の数え方とか単位に関しては


http://ja.wikipedia.org/wiki/%E6%95%B0%E9%87%8F% …
を見ると分かりやすいと思います。

>シリンダー数が1024で制限されていますね。
それは、たまたま10ビット長もあれば十分だと思って1024で制限したかったご都合主義なだけで、アドレス指定の手法とは別の理由になります。

また、1000(1キロ)を2進数で表現するには10ビット分必要なので、2進数だと桁の境界が1024になってしまいます。
    • good
    • 0
この回答へのお礼

maimi09さんありがとうございます。
キビメビで使い分けられていますね。

正確な表記などがわかりました。
説明をみつつ、今後の学習に生かさせていただきます。

お礼日時:2008/04/26 09:35

複数のセクタをまとめたクラスタ単位で行われる為、例えばクラスタサイズ32KBの場合、1バイトのファイルでも1クラスタ:32KBを消費します。


クラスタサイズはフォーマットの形式やHDD等の容量によって異なります。

http://support.microsoft.com/kb/140365/ja

この実際のファイルサイズと、ディスク上での使用サイズの差をクラスタギャップといいます。

クラスタサイズが小さい場合
 クラスタギャップは少なくなりますので無駄が減ります。
 クラスタ数が増えるので、断片化しやすく、管理するFAT等の管理情報も増えるので、アクセスに時間がかかります。

クラスタサイズが大きい場合
 クラスタギャップが大きくなりますので、クラスタサイズより小さいファイルの保存には向きません。

尚、XPのNTFSフォーマットでのファイル圧縮機能で圧縮されてる場合には、ディスク上のサイズの方が実際のサイズより少ない場合も有ります。


又、HDDのクラスタの管理は、FAT/NTFS等のフォーマット形式により異なります。

http://www.atmarkit.co.jp/icd/root/01/5785301.html

http://www.atmarkit.co.jp/icd/root/13/14575813.h …

で、HDDとしては昔はシリンダ数/ヘッド数/セクタ数を指定する方法が使用されてましたが、現在はセクタに通し番号をつけるLBAアドレッシング方式を採用しています。

http://www.tadachi-net.com/pc_info/ide.html
    • good
    • 0
この回答へのお礼

ZENO888さんありがとうございます。
以前も別質問で回答いただき誠に恐縮です。

maimi09さんも記述されていましたが、
シリンダー数が1024で制限されていますね。
ご指示いただいたURLがわかりやすく記述されており、私でも読み解けました。
アドレスと関連付けるとしたらここがポイントですね。
しかし、他のお礼にも記載させて頂いたとおり、アドレスと保存容量の区切りの1024は別物として考えたほうがよさそうですね。

自身の思考の中で保存容量の区切りとアドレスがごっちゃになっていたようです。

ありがとうございました。

お礼日時:2008/04/23 23:36

1024は2の10乗ですが・・・



>アドレス管理として用いられている場合、具体的にどう1024が扱われているのでしょうか?

貴方の思考の中で「1024」と「アドレス管理」がどのように結びついているか、私には察することが出来ないようなので一般論で言うならば・・・

ディスクのアドレスは、クラスタ単位で管理されてますので、

サーフェース番号、シリンダー番号、セクター番号、

の3つ指定して指し示せば記録個所にアクセスできます。
    • good
    • 0
この回答へのお礼

maimi09さんありがとうございます。
シリンダー数が1024で制限されていますね。
アドレスと関連付けるとしたらここがポイントですね。
しかし、おっしゃるとおりそれ以外のものも含めアドレスは成り立っていますね。
アドレスと保存容量の区切りの1024は別物として考えたほうがよさそうですね。

ありがとうございました。

お礼日時:2008/04/23 23:30

ども。


初級シスアドです。

>アドレス管理として用いられている場合、具体的にどう1024が扱われているのでしょうか?

アドレスを指定したりする場合ですよね。
それでは16進数で扱われているということでよいでしょうか?

1024(10進数)=400(16進数)
    • good
    • 0
この回答へのお礼

AmuroRayさんありがとうございます。
なるほど10進数である1024が16進数なら400と表わされるのですね。
ところで、なぜ16進数に置き換えたのでしょうか?
きっと400として扱うことに意味があるのだと思うのですが…。
16進数と保存容量の関係を探ってみます。

ありがとうございました。

お礼日時:2008/04/23 23:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!