• 締切済み

Windowsのファイルサイズの接頭辞は2の累乗か

Windowsのエクスプローラなどで表示されるファイルサイズは KB、MB、GB などですが、 この接頭辞のK、M、Gの意味はそれぞれ2^10、2^20、2^30になっています。 なぜこの接頭辞を使う必要があるのでしょうか。 ビットシフトするだけで計算できて高速に計算できるからと聞いたことがありますが、今の時代その必要はないと思います。もっと無駄に思える処理がたくさんありますし、メモリだってガシガシ使っています。 今更そんなことに気をつかう必要があるんでしょうか。

みんなの回答

  • Tort_Capa
  • ベストアンサー率21% (19/88)
回答No.4

 コンピュータ業界とコンピュータ利用者達の慣習に従っているから2の累乗を使用しているのです。  マイクロソフト社は、ソフトウェアの互換性と業界・利用者の慣習を重視してきたのでWindowsを普及させることに成功してきたのです。(最近は旧製品との互換性・サポートを切り捨てるようなことをしているので、古くからの利用者(私を含む)がマイクロソフト社を見限ってLinux系OSへと移行していますが…。)  慣習なんて関係ないという利用者のために、オプションで設定すれば「2の10乗」か「10の3乗」かを選択できるようにすれば良いのにね。

  • kngj1740
  • ベストアンサー率18% (197/1052)
回答No.3

メモリ容量はH/Wの構造上2のn乗になります。ファイルもメモリに読み込んで使用されるので、2のn乗で表現したほうが便利だからです。その証拠にHDDの製造業者はHDDの容量を10のn乗で表しています。 10のn乗のほうが容量が少し多いように見えますから。

cdtv328
質問者

お礼

回答ありがとうございます。 具体的にどう便利なのでしょうか。 メモリ容量が2^nになっていて、それが大きくなったとき、2^(10*n) が1000に近かったので KやMやGを使い表現したという点については理解できます。 でも、それを実際に使う時、この単位は具体的にどのように便利なのでしょうか。

  • vaidurya
  • ベストアンサー率45% (2714/5983)
回答No.2

それが、コンピューター的に正しいからです。 コンピューターの中は、ニューロコンピューティングが来るまで 厳然として、2進数で処理しています。 十進数で切りがいいなんて理由で、内部の処理を変えるなんてありえない。 たとえば、HDDのセクターやクラスターには512とか2048とか4096とか出てくるし グラフィックも、16777216色だし、文字コードは8bytesや16bytesだし 「十進数で切りがいいほうが良い」という根拠がそもそも無いんじゃないかと思います。 たとえば…HDDの空き容量と、保存できるファイルの量を計算をするとします。 それこそ、クラスターギャップを勘案する必要があるので、2の累乗で考えるほうが自然です。 メモリー消費の計算も、ページングの単位が、2の累乗ですしね。

cdtv328
質問者

お礼

回答ありがとうございます。 疑問が解決しないので長くなってしまいました。 > それこそ、クラスターギャップを勘案する必要があるので、2の累乗で考えるほうが自然です。 このことと、接頭辞を2^(10*n) にすることにどんな関係があるのでしょうか。 (詳しくは分からないので)仮にサイズとクラスタサイズのビット和でディスク上のサイズを求めているとしても、KB,MB,… の値までビット演算(シフト)によって求める必要はないですよね。 他にも例を上げて頂きましたが、同様に内部でどのような計算をしていたとしても、構造がどうなっていようと、最終的に表示する単位を 2^(10*n) になければならない理由にはならないと思います。 なぜ、10^(3*n) で表示したほうがよいと思うのかですが、 単純に単位変換しづらいからです。 例えば 13243MB 空き などと表示されているところに 13,886,291,968B のファイルが入るかどうか、すぐに判断できません。(実際は入ります) もし、Mの意味が2^20ではなく10^6ならば、このようなことは起きません。単位が違っても、入るかどうか計算する必要がないです。 単位が統一されていないと、瞬時にどちらが大きいのか分からない場合がある、空きスペースに入るのかわからない。どれだけ削ればよいのかも計算しないと分からない。 逆に2^(10*n)でないと困る事ってどんなことがありますか? 思いつくのは、2^(10*n) と 10^(3*n) を同じ接頭辞で使うことで混乱が起きるということですが、それはHDDの販売時の単位とOS上での単位の関係からも分かるように既におきていることです。 すでに、Windowsなどを使う時だけ、KやMの意味が違うことで難しくし混乱させているのです。 むしろ意味が違うことを知らない人のほうが多いと思います。 それなら、コンピュータ側が一般的な接頭辞の意味に歩み寄ったほうが良いと思うのです。 OSであればすべての計算方法を変えてしまえば、それで済むことだと思ってしまいます。 ファイルブラウザ上でのMBの意味を10^6にしたら、メモリ消費量表示のMBの意味も10^6にすれば良いのですから。 もちろん、アプリ毎に別の意味を使う可能性はありますが、すでに混乱していることです。今更です。

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.1

回答にはなっていないかもしれません。 > Windowsのエクスプローラなどで表示されるファイルサイズ これは、あくまでも「使用者」に対する表示です。 37GB 39728447488Byte どっちが見やすいですか?

cdtv328
質問者

お礼

回答ありがとうございます。 それでは39GBと表示すればよいのではないですか。 この39728447488は 2^30=1073741824 の倍数になっているので"きりが良い"とある意味では言えますが、 実際はこんなふうにはならないことがほとんどです。 ファイルのサイズはファイルシステムのクラスタサイズの倍数になっているだけです。 これなら、39GBと表示してもわ見やすいといえますよね。

関連するQ&A

  • エクスプローラーのファイルサイズが‥

    はじめまして。中3女子です。 私のパソコンはXPなのですが、エクスプローラーでファイルを一覧表示したとき「サイズ」の欄に表示される数値が全て「KB」になってしまっているのです‥。 学校のパソコンでは大きさに合わせて「GB」とか「MB」とかになるんですけど、そのほうが便利なのでそうしたいと思っているのですが、どうすればいいでしょうか‥? どうかよろしくお願いいたします。

  • Excelの計算式がわかりません。

    パケットをギガバイト(GB)の変換の計算式を教えて下さい。 ※1パケット=128バイト、1キロバイト(KB)=1,024バイト、1メガバイト(MB)=1,024キロバイト、1ギガバイト(GB)=1,024メガバイト 初心者にはわからず教えて下さい。

  • サイズの大きなテキストファイルのSORT

    3GB超のテキストファイルをSORTコマンドでソートしたいのですが、空(0KB)の出力ファイルが出来て処理が終わってしまいます。 数KB~数MBのテキストでは正常にソートされるのですが、GB単位になると上記の現象が発生します。 環境はWindowsNTServer4.0です。 ソートできるファイルサイズの上限、ディスクの空き容量等、制限があるのでしょうか? また、上記の現象を回避し、正常にソートする方法をご存知な方がいらっしゃいましたら、どうぞご教授ください。 宜しくお願い致します。 ↓ソートコマンドは至ってシンプルです。 sort /+1 < TEST.dat > OUT.txt

  • コンピュータシステムの問題

    1ピクセルあたり24ビットのカラー情報をビデオメモリに記憶する場合、横1024ピクセル、縦768ピクセルの画面表示に必要となるメモリ量は何Mバイトか。(1kバイト=1024バイト、1Mバイト=1024kバイト) どなたかお願いします。

  • メモリの容量について

    メモリの容量について キロバイト(KB)、メガバイト(MB)、ギガバイト(GB)、テラバイト(TB)僕はここまでしかわからないんですがまだこの上にいろいろあるんでしょうか? よく目にするんですがTB以上のものを見た事がありません、ご回答よろしくおねがいします

  • ビット?バイト?速度?頭がこんがらがってます。

    学校で出された宿題の通信速度の問題を解いていて、頭がこんがらかってしまいました(x_x) 計算の仕方を教えてください。 問題は、 3MBのデータをダウンロードするのに70秒かかりました。 このときの通信速度は?1kbps=1000bps、1MB=1024KBとする。 です。 答えは384kbpsらしいのですが、どうすればその答えになるのかわからないんです。 1MBは1024KBですよね? だから、3MBをKBに直すと、3×1024で3072KB。 3072KBをBに直すと、3072×1024で3145728B。 1Bは8ビットだから、3145728×8=25165824ビット。 70秒かかったのだから、1秒間に3595117.7ビット。 これをKビットに直すと、3595.1177Kビット・・・・ なんで384kbpsになるんだろう・・・ 根本的に、間違ってますか?(^_^;) わかりやすく計算方法を解説していただけたらありがたいです。

  • メモリを増設したのに?

    LC600を使っているのですが、192メガバイトに増設したのですが 物理メモリの全容量 191.08 MB 物理メモリの空き容量 9.90 MB 仮想メモリの全容量 2.00 GB 仮想メモリの空き容量 1.66 GB ページ ファイル領域 1.81 GB であんまり起動や処理が早くなった実感がないのですが増やす方法はありますか? 物理メモリの空き容量が9.90 MBが少ない気がするのですが気のせいですか?

  • ど(接頭辞)

    ど素人: ど阿呆: ど盲: ↑の3っつ英訳願います。

  • 接頭辞

    (1)自分の中では、80年代後半までは最も大きい接頭辞はエクサだったと記憶していましたが、最初からゼタ、ヨタという単位が存在していたのでしょうか?それとも、最近になって追加されたのでしょうか? (2)以下のウィキペディアによると、10の-1乗を漢数字で表すと一厘、10の-2乗を漢数字で表すと一分・・・となっています。 http://ja.wikipedia.org/wiki/SI%E6%8E%A5%E9%A0%AD%E8%BE%9E ただ、小学校の算数で確率を習ったときには10の-1乗が一割で、10の-2乗は一分、10の-3乗が一厘・・・だったはずです。プロ野球の打率などでも0.275を2割7分5厘と表現しているはずです。 これはウィキ記事が間違えて登録されているのでしょうか?それとも、最近になって変更されたのでしょうか? よろしくお願いいたします。

  • TVキャプチャーしたファイルのサイズを小さくする方法

    TVキャプチャーを初めてまだ間もない初心者です。宜しくお願いします。 40分物のTV番組をキャプチャーしたのですが、保存のためにファイルサイズを小さくしようと思い再エンコしたのですがファイルサイズが一向に小さくなりません。試したことを羅列させていただきます。間違っているところがありましたらご指摘宜しくお願いいたします。 Win98SE TVキャプチャカード AlphaData AD-VTK501 (ソフトウエアエンコード、安物です) キャプチャーソフト Gshot 再エンコソフト   VirtualDub ビデオコーディック MS MPEG-4 3920 V2 データーレート   2360kbps サウンド 44,100KHZ,16ビット,172kb/秒 でリアルタイムエンコード。この時点でファイルサイズ600MB 簡易計算ソフトで希望のファイルサイズにデーターレートを計算。CMカットなどをして ビデオコーディック Dvix5.02 2-pass データーレート   508kbps サウンド 44,100KHZ,16ビット,172kb/秒 で再エンコード。そこそこの時間がかかって出来てきたファイルのサイズ598MB 計算では200MBになるはずなんです。 コーディックが違うからでは?と思い同じコーディックを使っても結果は同じです。Dvix5.02の1-pass,1-pass qualityなども試しました。 エンコード時無圧縮もやって見ました。 最後にサウンドのレートをラジオの音源ぐらいまで下げたらやっと280MBまで小さくなりました。映像のデーターレート操作で何か間違っていたらご指摘お願いいたします。 追伸 フレーム数は29.97/秒で変更しておりません。