1 MBが1000000バイト、1024000バイト、または1048576バイトのいずれかを意味するのは本当ですか?[複製]


63

重複の可能性:
キビバイト、キロビット、キロバイトの違いは何ですか?

1 KB(キロバイト)が1000バイトまたは1024バイトを意味する場合、

また、1 MB(メガバイト)は1000 KBまたは1024 KBを意味し、

それは、1 MBが以下の4つのいずれかを意味するという意味ではないのですか?:

  1. 1000×1000 = 1000000バイト

  2. 1000×1024 = 1024000バイト

  3. 1024×1000 = 1024000バイト

  4. 1024×1024 = 1048576バイト

または、23は受け入れられないので、1 MBは1000000バイトの1048576バイトのいずれかを意味しますか


3
-0(負のゼロ)と+0(正のゼロ)があることをご存知ですか?en.wikipedia.org/wiki/Signed_zero
アキ

4
異なるプレフィックスが混在しているのを確認した唯一の場所は、1.44 [メビバイトではなく、メガバイトでもないもの]フロッピーです。
-AndrejaKo

あきはい、でもあなたが何を言おうとしているのか理解できませんか?
パセリエ

「数字が美しくなければ、私は何がわからない。」-ポールErdős–
アキ

4
「KB」ではなく「kB」にしてください。
アンドレアスレイブランド

回答:


107

最初に、デジタル情報について説明する場合(読み取りバイト)には、SIプレフィックスバイナリプレフィックスの 2種類のプレフィックスがあります

SIプレフィックス

SIプレフィックス1000(1000累乗である1 1000 2 1000 3、等)。

  • 1 kB = 1キロバイト= 1,000 1バイト= 1,000バイト。
  • 1 MB = 1メガバイト= 1,000 2バイト= 1,000,000バイト。
  • 1 GB = 1ギガバイト= 1,000 3バイト= 1,000,000,000バイト。
  • そしてように

ご覧のとおり、メガ以上のSIシンボルのみが大文字になっています。したがって、KBは有効なプレフィックスではありません

バイナリプレフィックス

バイナリプレフィックスは1024(1024の累乗である1、1024 2、1024 3、等)。

  • 1 KiB = 1キビバイト= 1,024 1バイト= 1,024バイト。
  • 1 MiB = 1メビバイト= 1,024 2バイト= 1,048,576バイト。
  • 1 GiB = 1ギビバイト= 1,024 3バイト= 1,073,741,824バイト。
  • そしてように

ここでわかるように、すべてのバイナリシンボルは大文字になり、小文字のiBシンボルの前に追加されて、キロバイトではなくキビバイト、メガバイトではなくメビバイトなどについて話していることを示します。


ただし、バイナリプレフィックスは広く使用されておらず、Windowsではまったく使用されません。

ここで起こることは、Windowsがハードディスクドライブの容量が300,066,795,520バイトであり、Windowsによれば279 GBに等しいことをWindowsが示していることです。ただし、1,000,000,000バイト= 1 GBの場合、300,066,795,520バイト=〜300 GB =〜279.5 GiBであることがわかります

したがって、1 KB(間違っている、覚えている)または1 M​​Bが表示されている場合、それぞれ1キビバイトと1メビバイトについて話していると仮定します。KbkbGbgbなども、ビット(8ビット= 1バイト)を表すにもかかわらず頻繁に発生します。


罰金では、1 KBまたは1 M​​Bに複数の値を設定することはできませんが、(悪い)使用法は逆のことを示しているように見えます。


3
追加する必要があるかもしれませんが、データ転送速度(ビット/秒)については、通常10進数のプレフィックスを使用します。たとえば、Gb / sは実際には「10億ビット/秒」を意味します。
フランク

3
バイナリプレフィックスは比較的新しく、SIプレフィックスを使用して2のべき乗を参照することは依然として非常に一般的です。多くの人はバイナリプレフィックスを認識していません。@Novoxは良い点です。GBを使用して1048576バイトのストレージを意味する人々でさえ、通常Gb / sを使用して1000000000ビット/秒を意味します。バイナリプレフィックスの発明は、すべての使用法を一貫させるものではありませんでした。
キーストンプソン

5
@kubanczyk:私はそれが怠lazであることには同意しません-しかし、怠inessは必ずしも悪いことではありません。我々が必要 1048576、1024単位でストレージを参照する方法を、または1073741824バイト、バイナリプレフィックス(KI、MI、GI)の(比較的最近)発明、SIプレフィックスを再使用して(K、M、前G)それを行う唯一の合理的な方法でした。そして、私たちはそれを長年にわたって行ったため、K、M、Gの接頭辞はまだあいまいです。最初から一貫してバイナリおよびSIプレフィックスを使用する方がよかったのですが、それは起こりませんでした。
キーストンプソン

2
@kubanczyk誤解しないでください、私は正しいユニット使用の強力な支持者です。それでも、「それは明らかだ」とは思わない。本当にそうだったとしても、その質問はありませんよね?
フランク

3
うーん、逆に試してみましょうか?8ビットで何が起こったのか見てください。デカビットと呼ぶのではなく、デカテンが10ではなくIT 8で意味することを主張する代わりに、誰かが新しい用語発明し、それをバイトと呼びました。出来上がり!65536ではない場合は1024でも同じ解決策が可能
でした。– kubanczyk

14

キロバイトは10を基数とする測定値であるため、1キロバイト= 10の3乗= 1000バイトです。

ただし、物理データは2進数で測定されるバイナリで保存されるため、物理データを正確に測定するのはそれほど正確ではありません。したがって、キビバイトは1999年に確立され、コンピューターサイエンスのコンテキストで使用される場合、1024バイトを意味するキロバイトに置き換えられます。

キビバイトはベース2の測定値であるため、1キビバイト= 2の10乗= 1024バイトです。

同じことがメガバイト(1メガバイト= 10の6の累乗= 1000000バイト)にも当てはまり、これはベース2の測定値がメビバイト(1メビバイト= 2の20の累乗= 1048576バイト)です。

  • (1)メガバイトに適用
  • (2)および(3)は受け入れられません
  • (4)メビバイトに適用

13
これは技術的には正しいのですが、一般的な用法では誰もキビバイトやメビバイトとは言いません。キロバイトが正しく使用されるのを定期的に確認している唯一の場所はハードドライブの容量であり、これはユーザーをいらいらさせます。
ダースアンドロイド

4
はい。ただし、オペレーティングシステムがSIプレフィックスを「正しく」使用しないためです。
フランク

2
それでも、MB は1,000,000または1,048,576バイトのいずれかを意味します正しくありませんが、広く普及しています。CC @DarthAndroid
ダニエルベック

ああ、1998年......王星が惑星で、1キロバイトが1024バイトだったとき。
スクリムスリ

9

現在、「KB」、「MB」などの使用は、1000バイト、1000 x 1000バイトなど以外を意味するため、非推奨であり、ほとんどの公式標準に反しています。1024バイト、1024 x 1024バイトなどを表す新しい方法は、KiB(キビバイト)、MiB(メビバイト)などです。これは混乱であり、コンテキストが意味を理解するために不可欠です。これらの問題については、http://en.wikipedia.org/wiki/Kibibyteをご覧ください


7

おそらくそうではありません。なぜなら、それは単一の番号内のプレフィックスの一貫性のない使用だからです。

一方でSI接頭語は、 k 1000年の略で、それには、多くの場合、意味するために使用される1024(いくつか提唱してバイナリ接頭辞)、それはこれらの意味の間の代替には意味行いません同じ数のを



@JdeBP:興味深いメモ。1440 KBと言うのは(基本2の意味で)「正しい」ことでしょう。1.44の2つの「システム」の組み合わせについて考えたり、実現したことはありませんでした。+1。
BillP3rd

3

あなたの質問は正しいです。1と4は正しいが、2と3は正しくない。

基本的に、1000または1024の「千」を定義し、それを乗算に使用します。それらは交換されません。

基数2(バイナリ)では、1000にきれいに到達できる最も近い値は1024(2 ^ 10)です。これがコンピューターが実際に物事を考える方法です。たとえば、メモリー(RAM)では、1MBは1048576バイトになります。

ただし、ベース10では、実際に1000台を使用できます。ディスクドライブはこのように機能し、HDDでは、通常1MBは1000000バイトになります(ただし、ソリッドステートはバイナリで機能します)。

基本的に、コンピューターとストレージデバイスの動作は通常わずかに異なるため、同じものに対して異なる定義があります。


1

だから、ここで契約です。ではなく、ベース10は、(はい、私はそこに知っている今日のコンピュータ(の大部分)は、ベース2で動作している例外は、しかし、彼らは本当にある、確かにすべての消費者の使用を例外的な場合。)私たちの(あなたの)目的のためには、すべての汎用コンピュータを(と汎用コンピューター)すべての内部処理にベース2を使用します。基本単位は、ゼロまたは1のビットです。これらのうち8つが一緒になって1バイトになります。16一言。さて、これは一般的に言えば... 32ビットコンピューターは一般に、32ビットの「ワード」、64ビットコンピューター、64ビットワードなどを使用していると考えられています。気づいてますか?これらはすべて2のべき乗です。1つの「K」またはキロバイトのメモリを搭載したコンピュータには、常に1024バイトのメモリがあります。1メガバイトのメモリは、常に1024 x 1024バイトを意味します。繰り返しますが、すべて2のべき乗です。したがって、64 MBのメモリを搭載したコンピューターは、常に64 x 1024 x 1024バイトになります。販売用にアドバタイズされたコンピューターを見ると、メモリ容量(RAM)は常に 2の累乗に基づきます。たとえば、1GBのRAMが10億バイトであると主張するビデオカード表示されません

混乱がもたらされ、人々を夢中にさせるのは、ディスクドライブメーカーが、どんどん大きなドライブを提供しようとするとき、「ねえ!他の分野(コンピューターではない)では、Kは1000で、 Mは1,000,000です。」たとえば、2人の男が車の販売価格について話し合っていて、「8Kは正しいと思う」と提案された場合、もう1人は「8K」が8,000ドル(8,192ドルではない)であることを自動的に理解します。そのため、これらのディスクドライブメーカーは、「これらの手段を使用して製品の広告を始めて、音が大きくなるようにしましょう」と述べました。しかし、法務部員が介入して言った、「ここでちょっと待ってください。それらの巧妙な広告人は、「問題ありません。ボックスの容量の横に小さなアスタリスクを付けてください。ドキュメントには、「* 1GB = 1,000,000,000バイト」などと書かれています。問題が解決しました。"

この混乱のすべてがあります。@kreemoweetが参照する上記のWiki記事から引用すると、

ほとんどの場合、キロバイトは引き続き10の累乗と2の累乗を表すために使用されます。

そして混乱は続きます。実用的な目的のために、ディスク容量はベース10の測定単位に基づいていると想定する必要があります。同様に、RAM容量は常に(おそらく)ベース2ユニットに基づいています。他の種類のデバイスや製品については、おそらく基盤となるテクノロジーと、広告業界の人々が何を逃げることができるかによって異なります。結局のところ、大きければ大きいほど良いのではないでしょうか?

さらに読むには、タイムラインのバイナリプレフィックスを熟読してください。物事を明確にすることはありません、楽しい読み物です。


2
それは純粋なマーケティングだと確信していますか?多分それは、ストレージ自体の構造/組織にも関連しているかもしれません。
barlop

3
-1これはマーケティングの問題ではなく、ディスクドライブの音を大きくすることでもありません。それは広く普及しているが、それでも完全に誤った説明です。それはまた、対象の重大な無知に基づく推論です。国際電気標準会議と電気電子技術者協会は、実際には、1997年にIEEE Standards Bearerの記事で、異なるエンジニアリング分野が同じ言語を話し、互いに混同しないようにするための理論的根拠を示しました。これは非常に実用的なエンジニアリングの問題です。
JdeBP

4
1980年代と90年代にエンジニアとしてMiniscribeとその後のMaxtorで働いた経験は、そうでないことを教えてくれます。コンピューターエンジニアとして、2の累乗に引き寄せられる傾向があります。1バイトは常に8ビットです。@barlopが付け加えるように、メインコンピューターのメモリとは異なり、回転ディスクドライブは非常に多様な構造/組織を持つことができます。トラックあたりのセクタ数が記録面の内端から外端まで変化するようにドライブ技術が進歩したため、さらにそうです。セクターには512バイトが残っていることに注意してください。(再びその厄介な2の力)。
BillP3rd

1
それは経験不足であり、エンジニアリングに対する狭い近視眼的な見方です。IEEE Standards Bearerの記事を読んでください。それはまさにまばたきのようなものですが、「人々は常に2のべき乗を使用します」。このようにまばたきされていないエンジニアリングの過半数にぶつかると、ひどく間違ってしまいます。私が言ったように、これは実用的なエンジニアリングの問題であり、あなたはそれが目指していたまさにその問題を皮肉にも示しています。マーケティングではなく、何かを大きくすることでもありません。それは完全に加工されたゴミです。信じないで。
JdeBP

1
@JdeBPは、エンジニアが間違いなく実証可能な用語kibibyteなどを思いついたと確信しています。そして、ハードドライブの世界のエンジニアのどの割合がそれを使用しているかはわかりません。私はおそらく、彼らが文脈によってキロバイトの意味を知っていて、キビバイトの口一杯を必要としないか、またはおそらく必要ないと思っていたでしょう。BillP3rdは彼らが知っていると思っているようで、base2であると思われます。ただし、マーケティングでは、より小さな単位であるパッケージの10進数プレフィックスを使用することを選択します。IEEEの記事の前でも、マーケティングはそれを行っていたのだろうか。
-barlop

0

はい、それは構文上の災害です。 このWikiの記事では問題を説明し、使用する「新しい」単語の表を掲載しています。ここでは、現実の世界では誰もこれらの用語を使用していません。コンテキストを使用して、見ている定義を決定する必要があります。


4
その「誰も」に対して-1。ここで実際の世界で使用していますが、私は一人ではありません。
JdeBP

1
平均的な消費者が販売員に購入を考えているコンピューターのメモリ容量を尋ね、「4ギガバイト」と言われた場合、彼らは何を意味するのかわかりません。同様に、大多数の人々は「ギビバイト、チビバイト、ピビバイトなど」という言葉を決して大声で言わないでしょう。真剣に、「ギビバイト」を3倍速く声に出してみてください。少なくとも、私はそれらを聞いたことがありません。(コンテキストとして、私はあなたが聞いたことがある大規模なソフトウェア会社で働いており、テラバイトおよびペタバイト規模のデータ量を定期的に処理しています。)
BillP3rd

これらの面白い用語に言及し、ほとんどの人がそれらを使用せず、コンテキストを使用しないための+1
barlop

1
「no-one」は「no-one」、子供を意味し、文脈によって魔法のように変更されることはありません。あなたがそれを切り取ろうとしても、それは虚偽です。
JdeBP

1
@JdeBP-Jdebpを申し訳ありませんが、希望はそうしません。キビバイト用語のまさに存在は、意味をめぐって混乱があった(そして今でもある)という証拠です。10年間この用語に固執してきたことを残念に思います(2000年にキビバイト値のハードドライブを見つけるのは大雑把だったに違いありません)。また、私が参照したWiki記事の編集に取り組むことをお勧めします-明らかに、使用法の欠如についても間違いであるに違いありません(ポーリングリストから除外されているはずです)。
ジムB
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.