怎么把16位二进制分为高低2个的8位二进制?

如题所述

第1个回答  2018-02-09
告诉你两种方法:
1.用共用体
因为共用体里的变量是共用一块内存,可以定以一个char c[2],再定义一个2字节的变量s,
用的时候分别取c[1],c[2]就好
union union_item
{
char c[2];
short s;
}x;
int main()
{
s=0xff00;
printf("%d\",x.c[1]);
}
这样就能把高低字节分开了

2.用移位的方法
相对于第一种方法更简单
假设16位数为eeff,你把该数与上00ff,即可得到低八位,高八位同理,与完了再右移8位或者一开始就右移八位,就能得到高八位了。
与符号为&
右移符号>>本回答被网友采纳
相似回答