#include <stdio.h>
int main(void)
{
unsigned int i = 0x2345;
unsigned char j, t;
j = (unsigned char)i & 0x00FF;
t = (unsigned char)i >> 8;
printf("j = %x\n\r",j);
printf("t = %x\n\r",t);
}
#include <stdio.h>
int main(void)
{
unsigned int i = 0x2345;
unsigned char j, t;
j = (unsigned char)(i & 0x00FF);
t = (unsigned char)(i >> 8);
printf("j = %x\n\r",j);
printf("t = %x\n\r",t);
}
注意:不要忘记转换时的(unsigned char)(i & 0x00FF),否则,会导致转换出错,如果不加后面(),运算顺序改为先强制转换为相关类型再&或>>;