有两个变量

uint8_t x (8 bit type)
uint16_t y (16 bit type)


,它们一起存储有关整数值的信息。说num由四个字节abcd(其中a最重要)组成。然后,x需要复制到b,y需要复制到cd。最好的方法/代码是什么?

最佳答案

这对我有用:

#include <stdio.h>
#include <stdint.h>

int main()
{
   uint8_t x = 0xF2;
   uint16_t y = 0x1234;
   int a = 0x87654321;

   // The core operations that put x and y in a.
   a = (a & 0xFF000000) | (x<<16);
   a = (a & 0xFFFF0000) | y;

   printf("x: %X\n", x);
   printf("y: %X\n", y);
   printf("a: %X\n", a);
}


这是输出:

x:F2
y:1234
邮箱:87F21234

10-05 22:40
查看更多