假设我有一个二进制字节:f= 01010111,那么我会这样做:f<<3 所以我期待:10111000,此时我将有另一个字节,假设另一个字节是 10111001我想附加它们,所以结果是 1011110111001。基本上,我想要的是第一个字节的最后三位交换第二个字节。
我不知道该怎么做,你能帮我吗?
谢谢!
最佳答案
这个怎么样?
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
但我假设它是您应用程序的一部分。
关于C - 将一个字节的三位与一个字节组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26766344/