1

誰かが次のテキストを理解するのを手伝ってくれませんか:

両バイト順

16 進表現 (st uv wx yz) で表される数値は、8 バイト フィールドに (yz wx uv st st uv wx yz) として記録されます。

注: たとえば、10 進数 305419896 は、16 進数表現として (12 34 56 78) を持ち、(78 56 34 12 12 34 56 78) として記録されます。

これは、値を読み取るために何を意味しますか? 単に 32 ビットを取得するだけuint32ですか、それとも正しい値を取得するために何かを変換する必要がありますか? または、値を取得するために 8 バイト フィールドから 4 バイトのみを抽出する必要がありますか?

編集:これはこのような組合で機能しますか?

union test
{
   uint64 fullValue;
   uint8  FirstFourBytes[4];
   uint8  SecondFourBytes[4];
}

次に、配列にアクセスしSecondFourBytesて正しい値を取得します。

4

1 に答える 1