从u32int中读取某个位

Reading a certain bit from a u32int

本文关键字:读取 u32int      更新时间:2023-10-16

我输入了一个包含无符号32位int的值,我想读取第19位。我该怎么做?

这是我想从中读取位的输入:

uint32 Input = u32AHI_DioReadInput();
int x = ??? 

我尝试使用Input(19)input[19],但没有成功,因为第一个是函数,第二个被认为是数组。我知道我应该把其中的一些部分移走,但我不知道该怎么做。

当您需要读取单个位n时,将数字向右移动n位置,并剪切除最后一位之外的所有位,如下所示:

int x = (Input >> n) & 1;

CCD_ 5将内容向右移位CCD_;& 1与1进行逐位"AND"(其二进制表示只有最低位设置为1,所有其他位都包含0);