让我说我有二进制字节:f = 01010111,然后我会这样做:f<< 3所以我期待:10111000,此时我将有另一个字节,让我们说另一个是10111001,我想附加它们,结果是1011110111001.基本上,我想要的是从第一个字节的最后三位获得第二个字节的交换。
我不知道我怎么能这样做,你能帮帮我吗?
谢谢!
答案 0 :(得分:1)
这个怎么样?
uint8_t f = 0x57; // 0b01010111
f <<= 3; // now 10111000
uint8_t g = 0xB9; // 0b10111001
uint16_t out = (f << 5) | g;
printf("0x%04X\n", out);
> 0x17B9 // 0b1011110111001
我不理解中级<< 3
,但我认为它是您申请的一部分。