2016-09-07 37 views
1

2^10 = 1キロバイト、 2^20 = 1メガバイト、 など など、我々が説明として2の累乗を使用している理由を私は理解していないので、バイトは8ビットである場合を除きバイト数が2の累乗で表されるのはなぜですか?

。私が完全に理解することができますが、バイトで、私は完全に失われています。このように多くの教科書/オンラインリソースで話題になっていますが、私はここで何が欠けていますか?ところで

、私は理解して2 ^およそ10 = 1024 10^= 1000私たちは、私が「2

+0

バイナリはベース2です。[Read](http://www.math.grin.edu/~rebelsky/Courses/152/97F/Readings/student-binary)| [up](http://www.kerryr.net/pioneers/binary.htm)| [on it。](http://binarytranslator.com/how-binary-works) –

+1

バイナリデータは一連のビットで構成されています。単一のビットは0または1のいずれかになります。したがって、2を基底とします。10進数1024は、それを表現するために最小11ビット(2は10乗に上乗せ)を必要とします。 1048576は最低21ビット必要です(2は20乗に上げられます)。このようなバイナリ値は通常 '2^N-1'形式で表現されます。ここで' N'はビット数です( '2^0'は10進数です)。 –

+0

たぶん私ははっきりしませんでした... 2^3は8ビットです。ビットはバイナリであり、各プレースホルダに0または1を格納しているからです。私には説明が意味をなさないのでKBは2^10だと言う。私たちはBYTESについて言及しています.1バイト= 8ビットで、合計256個の可能性があります....しかし、2の累乗をプレースホルダがオンかオフかのように使用しますが、そうではありません – bmcentee148

答えて

3

の力を利用して、使用する接頭辞とバイトを正当化する理由を私は理解していないことである3あなたが本当に求めている質問を聞かせてください:10の力を使うのはなぜですか?

私たちはこれに応答します:なぜ10のべき乗を使うべきですか?コンピュータを使用しているライフフォームには10本の指があるので、

コンピュータはすべてを1秒と0秒に分解します。

1024バイナリ= 10000000000(2^10)です。これは素晴らしいラウンド数です。

1000バイナリ= 1111101000(2の偶数乗ではない)。

実際にコンピュータを低レベルで使用している場合(つまり、生のメモリを見ている場合)、格納されている方法で丸数字で表される数値を考えるのはずっと簡単です。

+0

なぜちょっと見て、2^10 * 8はおよそ8000だから、バイトが8ビットなのであなたのKBを手に入れるのです。代わりに2の累乗を使用しますが、バイトは3ビットで格納されます。 – bmcentee148

0

私は私はあなたが正確に求めているものを手に入れるかどうかわからないけど、:

2^10ビット= 1KBits

2^10バイト= 1KBytes =^3((2)(2^10 )ビット= 2^13ビット

これらはビットの2つの異なる数であり、あなたは、あなたの質問から、お互い

+0

完全に間違っていますが、2^10バイトは2^13ビットです – bmcentee148

+0

はい、編集しました。 〜 @ bmcentee148 – Nilo0f4r

1

と混同してはならない、私はあなたが2の累乗とバイトの測定について理解していると思います。そうでない場合は、他の答えはそれを説明します。

ビットは本当にバイナリなので、バイトではなくビットを使用しないのはなぜですか?

メモリ、ディスクスペースなどがビットではなくバイトで記述される理由は、初期のコンピュータのアドレス可能性という言葉と関係しています。ビット、ニブル、バイトは、単純なコンピュータでは実用的な量のメモリとなりました。最初のコンピュータには、さまざまなビットをリンクした実際のワイヤがありました。 8ビットのアドレス指定可能性は重要な前進でした。

ビットの代わりにバイトは、歴史的な規則です。同様の歴史的理由から、ネットワークの測定値は(メガ)ビットです。

ウィキペディアには、面白いdetailsがあります。

0

私は自分の質問を出しました。 2^3ビット= 2^0バイト。したがって、2^13ビットがあり、それをバイトに変換したい場合は、2^13ビット= x * 1Byte /(2^3ビット)= 2^10バイト(キロバイト)です。今ではこの変換では、2のべき乗でバイトを表現する理由が私にははるかに意味があります。

私たちは10の累乗で同じ事を行うことができます。10^25を10に変換したいならば、10^25個= x *(10^0数/ 10^1個)= 10^24の数を期待通りに得る。

0

理由は、数字を格納するためにバイトを使用するだけでなく、数字(または他のアドレス)を格納するメモリバイトをアドレス指定するためです。 1バイトで256の可能なアドレスがあるので、256の異なるバイトにアクセスできます。例えば、それが丸い数字であるだけであるため、わずか200バイトを使用すると、アドレス空間が浪費されます。

この例では、簡略化のために8ビットのアドレスを想定していますが、通常、最新のPCでは64ビットのアドレスを使用しています。

ちなみに、ハードドライブのコンテキストでは、メモリの量は、多くの場合、丸数字です。 1TBである。なぜなら、それらはメモリ空間を別々に扱うからである。 2のべき乗は、RAM、フラッシュドライブ/ SSD、キャッシュメモリなどの大部分のメモリタイプで使用されます。これらの場合、それらは時々丸められることがある。 1024 KBを1 MBとします。

2の累乗と10の累乗の2つの異なる名前が実際にあります。10の累乗はキロバイト、メガバイト、ギガバイトと呼ばれ、2の累乗はキビバイト、 gibi-bytesです。ほとんどの人は、どちらの場合でも元のものを使用します。

関連する問題