我正在使用的SPI设备需要在10位值的左侧附加4位,并在右侧附加2位。

例如,假设您有一个10位的值:

0110100110 - or 422


我们要在左侧添加0110,在右侧添加00

因此结果将是:

0110011010011000


我该怎么做?

最佳答案

一种简单的方法是将这些位移动到所需位置,然后使用OR运算符(|)组合这些位。

int num = 0b0110100110;
int left_bits = 0b0110;
int right_bits = 0b00;

int result = (left_bits << 12) | (num << 2) | right_bits

关于c - 将位追加到10位整数的开头和结尾,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51672935/

10-11 15:17