0

バイナリデータを数値に格納できるかどうか、および可能な限り多くのバイナリデータを単一の数値に格納するにはどうすればよいか疑問に思っています。

たとえば、次のテキストを数値に格納するとします。

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec egestas nunc eget rhoncus blandit.

バイナリ形式では、これは次のとおりです。

01001100 01101111 01110010 01100101 01101101 00100000 01101001 01110000 01110011 01110101 01101101 00100000 01100100 01101111 01101100 01101111 01110010 00100000 01110011 01101001 01110100 00100000 01100001 01101101 01100101 01110100 0101100 00100000 01100011 01101111 01101110 01110011 01100101 01100011 01110100 01100101 01110100 01110101 01110010 00100000 01100001 01100100 01101001 01110000 01101001 01110011 01100011 01101001 01101110 01100111 00100000 01100101 01101100 01101001 01110100 0101110 00100000 01000100 01101111 01101110 01100101 01100011 00100000 01100101 01100111 01100101 01110011 01110100 01100001 01110011 00100000 01101110 01110101 01101110 01100011 00100000 01100101 01100111 01100101 01110100 00100000 01110010 01101000 01101111 01101110 01100011 01110101 01110011 00100000 01100010 01101100 01100001 01101110 01100100 01101001 01110100 0101110 

これを数値に変換すると、次のようになります。2.15146353486 * 10^16

これをバイナリに戻すのが問題です00000010

明らかに、私はここで何をしているのかわからないので、これが「なぜこれがうまくいかないのか」ではないことを理解してください。質問、私が求めているのは、私がやりたいことは可能ですか?

バイナリは ASCII または BASE-64 に、またはその逆に変換できるため、数値への変換とその逆も同様に機能するはずです。結局のところ、Base64 は基本的に 64 ベースの数システムですが、10 進数は 10 ベースのシステムであり、2 進数は 2 ベースのシステムです。

アドバイスをいただければ幸いです。

4

1 に答える 1

1

コンピューター内のすべてつまりすべてが 0 と 1 の 2 進数です。

このすべて:

  • Lorem ipsum dolor sit amet, consectetur…</li>
  • 2.15146353486 * 10^16

バイナリデータの一部のチャンクを人間が理解できる表現にすぎません。

これを数値に変換すると、次のようになります。2.15146353486 * 10^16

10 進数を表す通常の意味での数値は、テキストとは何の関係もありません。テキストを 1 つの巨大な10 進数として表現しようとしても意味がありません。

これをバイナリに戻すと問題が発生し、00000010 が返されます。

あなたの変換は間違っています。10 進数の 2 は、1 バイト (=8 ビット) として表現すると、 としてエンコードされ00000010ます。したがって、数値の「残り」を省略し、最上位桁のみを変換したことになります。

バイナリデータを数値に格納できるかどうか、および可能な限り多くのバイナリデータを単一の数値に格納するにはどうすればよいか疑問に思っています

バイナリ データは(10 進数)で格納されません。数値は、バイナリ データのチャンクの表現にすぎません (整数の場合、通常は 1、2、4、または 8 バイト)。したがって、質問を言い換えて、「バイナリ データに格納できる最大の 10 進数は何ですか」ともう少し正確に尋ねると、答えは次のようになります。どのような数値であっても、どのような大きさであっても、唯一の制限は利用可能なメモリです。

于 2014-01-05T20:44:32.750 に答える