从 C 中的 uint16_t 获取最低字节

Get lowest bytes from an uint16_t in C

我想在 C 中获取 uint16_t 的最低字节。

示例:

20544 = 0x5040
0x40 = 64

我试过了,(X & ((1<<2) - 1))。这对我不起作用。

您使用字节(复数),但是 uint16_t 由两个字节组成,所以我假设您指的是最低有效字节(单数)。如果是这样,这里有一种获取方式:

uint8_t lsb = ((uint8_t)(((uint32_t)(val)) & 0xFF))