0

56 バイトのメモリ レジスタがあり、レジスタに格納する必要がある 4 つの異なる数値があります。

数字は

0-99999
0-99999
0-99999
0-99999

これらを単一のバイト配列と同じレジスタに格納する必要があります。問題は、それを 4 つの数値に分割してから、それらのサイズを考慮して 4 つの異なる数値として読み返す方法がわからないことです。

1 バイトに最大 255 しか格納できないため、これらのバイトの組み合わせを使用してすべてを収めるにはどうすればよいですか?

前に述べたように、サイズは固定ではなく、0 ~ 99999 の範囲で指定できます。

4

2 に答える 2

0

このような数値を 4 つ格納するには、56 バイトで十分です。AnInt32は 4 バイトの長さで、最大 2,147,483,647 の値を格納できます。したがって、56 バイトのメモリ レジスタには 16 (4x4) バイトしか必要ありません。メモリ レジスタの最初の 16 バイトを使用して値を格納し、残りの 40 バイトは未使用のままにすることができます。レジスタとの間でバイトを読み書きするには、BitConverterクラスを使用できます。

56 ビットという意味ではないことを願っています。その場合、値ごとに 14 ビット (16384) になり、格納する必要がある最大値 (99999) に対して十分な大きさではありません。

于 2013-05-18T11:17:10.477 に答える