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 的左字节而不是右字节。
最佳答案
就用
packager = A << 8
请注意,说左右字节是一个坏习惯。而是使用高和低。左和右可能被某些人解释为取决于地址顺序,因此取决于字节顺序(除非您真的想与地址顺序有关)。
关于c - (C) 短整型变量中的位移位/字符放置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14905941/