C新手。
这里的总体目标是将一个字符放在一个short int中,并让它占用short int的左边字节而不是右边的字节。详细说明 -
我正在尝试使用变量:
unsigned short int packager;
(short int是2个字节。)
并将此字符放入其中:
unsigned char temp = A;
(二进制A是01000001。)
那么,这是怎么做到的?我希望short int看起来像这样:
0100 0001 0000 0000
我目前的想法是使用十六进制值。如果我能说出类似的话
packager = 0x(temp)
或0x(temp)并追加0? (idk ..)然后使用移动或掩蔽..我可能能够到达某个地方。最大的障碍似乎是我无法使用变量来生成十六进制值。同样,总体目标是将一个字符放在一个short int中,并让它占用short int的左字节而不是右字节。
答案 0 :(得分:4)
只需使用
packager = A << 8
请注意,说到左右字节是一个坏习惯。而是使用高和低。左边和右边可能被某些人解释为依赖于地址顺序,因此依赖于endianess(除非你真的想要与地址排序有关)。