使用按位运算符&
,您可以读取相等数量的位,例如,从0xff
获取前 4 位,0x0f
和后 4 位0xf0
:
#include <stdio.h>
#include <stdint.h>
int
main(int ac, char *av[]) {
uint8_t a = 0x7e;
uint8_t b = a & 0x0f;
uint8_t c = a & 0xf0;
(void) fprintf (stdout, "%02x %02x %02x\n", a, b, c);
return 0;
}
7e 0e 70
如何将 3、6 或 2 位读入同一类型uint8_t
?