作业帮 > 综合 > 作业

16位16进制数怎么取前8位和后8位

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/14 20:27:04
16位16进制数怎么取前8位和后8位
我问怎么取?比如0x8235这个数怎么取82和35.
#include
void main()
{ int temp=0x8235;
printf(get_value(temp));
}
int get_value(int u16)
{
int Hvalue=0,Lvalue=0; //high 8 bits and low 8 bits
Hvalue=u16>>8; // get high 8 bits;
Lvalue= u16 & 0x00ff; //get low 8 bits;
return Hvalue;
return Lvalue;
}
再问: 取高八位直接移位会不好,好像叫什么标志寄存器的吧!不过就你解决的最好给你分了
再答: #include
void main()
{ int temp=0x8235;
short Hvalue = get_Hvalue(temp);
short Lvalue = get_Lvalue(temp);
printf(“High 8 Bits:%d, Low 8 Bits:%d \r\n”,Hvalue,Lvalue);
}

short get_Hvalue(int u16)
{
short Hvalue=0; //high 8 bits
Hvalue = (short)(u16>>8); // get high 8 bits;
return Hvalue;
}

short get_Lvalue(int u16)
{
int Lvalue=0; // low 8 bits
Lvalue= (short)(u16 & 0xff); //get low 8 bits;
return Lvalue;
}