0

私はc ++が初めてです。LSB でサイズが 128 ビットの unsigned char 配列に長整数値を格納する際に助けが必要です。例:

long int myLong = 12340;
unsigned char  myArray[16] = {};

memcpy(myArray,&myLong,sizeof(long int));の MSB にコピーしますmyArray

0x34300000000000000000000000000000

しかし、私は次myLongのように保存する必要がありますmyArray:

0x00000000000000000000000000003430

注: 私は 64 ビットのリトル エンディアン (LSB) マシンで作業しています。そして、対応するバイトを右にシフトする必要があります。この目的を達成する方法、またはこの仕事を行う既存の機能はありますか?

編集:私の悪い、出力の違いを却下しましたmyLong = 12340myLong = 0x12340それに応じて質問を修正しました & はい、myLong = 0x12340&memcpyが使用されている場合、myArray次のようになります。

0x40230100000000000000000000000000
4

1 に答える 1