0

C の新機能。

ここでの全体的な目標は、文字を short int に配置し、short int の右バイトではなく左バイトを占めるようにすることです。詳しく説明すると -

私は変数を取ろうとしています:

unsigned short int packager;

(short int は 2 バイトです。)


この文字を入れます:

unsigned char temp = A;

(バイナリの A は 01000001 です。)


それで、これはどのように行われますか?短い int を次のように表示したいのは次のとおりです。

0100 0001 0000 0000


私の現在の考えは、16 進値で作業することです。packager = 0x(temp)または 0x(temp) のように言って 0 を追加できたら ? (idk..)そして、シフトまたはマスキングを使用します..どこかにたどり着くことができるかもしれません。最大の障害は、変数を使用して 16 進値を作成できないことです。繰り返しますが、全体的な目標は、文字を short int に配置し、short int の右バイトではなく左バイトを占めるようにすることです。

4

1 に答える 1

4

使うだけ

packager = A << 8

左右のバイトについて話すのは悪い習慣であることに注意してください。代わりに高低を使用します。左と右は、アドレスの順序、したがってエンディアンに依存していると解釈される場合があります (アドレスの順序に本当に関係がある場合を除きます)。

于 2013-02-16T01:27:07.273 に答える