誰かが私を助けてくれることを本当に願っています。
byte[]
ダイのバイト数を表示する必要があるシングルがありbyte[]
ます。現在、値が 255 を超えています。大きな数値を表示/入力する方法はありますか?
1 バイトは 0 から 255 までの値を保持します。299 を表すには、2 バイトを使用するか、バイト内の値が公称値を超えると解釈されるスキーム (受信側も使用する必要があります) を使用する必要があります。可能な値の範囲を広げるための値。たとえば、値は長さ / 2 である可能性があります。これにより、0 ~ 510 の長さが許可されますが、偶数の長さしか許可されません (奇数の長さの配列にはパッド バイトが必要になります)。
255 より大きい数値を表すために 2 バイト (またはそれ以上) を使用できます。それでよろしいですか?
short value = 2451;
byte[] data = BitConverter.GetBytes(value);
外部システムとデータを交換するためにこれが必要な場合は、Endiannessについて読むことを忘れないでください。
それは、あなたが良いアプローチと考えるものに依存します。何らかの形式のエンコードを実行して、2 バイト以上のデータを格納できるようにすることができます。つまり、おそらく最初のバイトを 0xFF に設定すると、次のバイトをそのデータの一部と見なすことになります。
[0x01,0x0A,0xFF,0x0A]
の 3 つの値として解釈されます。[1,10,265]