2

1011110001111101111などのバイナリ コードがあります。これらのコードを格納するために必要な最小サイズを確保するには、どのデータ構造を使用する必要がありますか?

上記のバイナリコードに相当する10進数を格納するよりも必要なサイズが大きくなるため、文字列配列は使用できません。

4

4 に答える 4

10

java.util.BitSet長さが固定されていない場合に備えて設計されています。

于 2012-04-04T10:47:03.797 に答える
7

コードの長さに応じて、intまたはを使用しますlong

于 2012-04-04T10:42:36.457 に答える
3

それらが短い場合は、 , , を使用しますbyte(intどのlongくらい短いかによって異なります)。

もう少し長くなる場合は、 、 、または の配列を使用byteintますlong。たとえば、256 ビット コードを格納する必要がある場合は、long[4].

格納する必要があるコードの長さが大きく異なる場合はlength、ビット数を指定するメンバーを持つクラスとbyte、それらを格納するための、、、、、またはメンバー (サイズと必要な粒度に応じて)のいずれかを検討できます。 )。または、できる限り多くを詰め込もうとしている場合は、コード内のビット数を保持するために、ストレージ領域からいくつかのビットを取っておくことができます。intlongbyte[]int[]long[]

于 2012-04-04T10:46:11.623 に答える
0

各バイナリ コードは、8 ビット (1 バイト) ごとに分割できます。テールが 8 ビット未満の場合の処理​​方法を定義する必要があります。バイト配列は、ここで各部分を格納するためにうまく機能するはずです。

于 2012-04-04T10:48:04.337 に答える