最近在做一个通讯程序。电文定好了以后对方发了个补充:(以下)
-------------------------------------------
注意:所有的设备状态为一个两字节的整形,高12位表示该设备的在微机连锁中的序号,低四位表示实际的状态。
-------------------------------------------请问一下,两个字节中如何把高12位表示的数据得出来?再把低四位的数据得出来?我基础薄弱,请朋友们指点一下。
-------------------------------------------
注意:所有的设备状态为一个两字节的整形,高12位表示该设备的在微机连锁中的序号,低四位表示实际的状态。
-------------------------------------------请问一下,两个字节中如何把高12位表示的数据得出来?再把低四位的数据得出来?我基础薄弱,请朋友们指点一下。
ushort originValue=0xffff;
ushort highValue=originValue>>4;//右移4位
ushort lowValue=originValue&0xf;//与运算,将原始数据的前12位弄成0
高12位表示该设备的在微机连锁中的序号,低四位表示实际的状态你还要弄清楚,高12还要再转化为什么不?低四位还要再怎么转化?convert.tostring(short i ,2)
16个字节。再取12和四就是这样了。