//16位转两个8位
uint8_t a, b;
uint16_t c = 0x1234;
a = (c >> 8) & 0x00ff;
b = c & 0x00ff;
printf("a: %#x, b: %#x\n", a,b);
//32位转四个8位
uint8_t a, b, c, d;
uint32_t f = 0x12345678;
a = (f >> 24) & 0x000000ff;
b = (f >> 16) & 0x000000ff;
c = (f >> 8) & 0x000000ff;
d = f & 0x000000ff;
printf("a: %#x, b: %#x, c: %#x, d: %#x\n", a,b,c,d);
//两个8位合成一个16位
uint8_t b = 0x12;
uint8_t c = 0x34;
uint16_t a = 0;
a |= b << 8;
a |= c;
printf("a: %#x", a);
//四个8位合成一个32位
uint8_t b = 0x12;
uint8_t c = 0x34;
uint8_t d = 0x56;
uint8_t e = 0x78;
uint32_t a = 0;
a |= b << 24;
a |= c << 16;
a |= d << 8;
a |= e;
printf("a: %#x", a);
//unit加法
uint16_t a = 0x0000;
for (int i = 0; i <277; i++) {
printf("a: %#x\n", a);
a ++;
}