获取byte中每一位的值- byte byData = 0x36;
- int n0, n1, n2, n3, n4, n5, n6, n7;
- n0 = (byData & 0x01) == 0x01 ? 1 : 0;
- n1 = (byData & 0x02) == 0x02 ? 1 : 0;
- n2 = (byData & 0x04) == 0x04 ? 1 : 0;
- n3 = (byData & 0x08) == 0x08 ? 1 : 0;
- n4 = (byData & 0x10) == 0x10 ? 1 : 0;
- n5 = (byData & 0x20) == 0x20 ? 1 : 0;
- n6 = (byData & 0x40) == 0x40 ? 1 : 0;
- n7 = (byData & 0x80) == 0x80 ? 1 : 0;
复制代码 获取int16中其中某几位的数值
bit | 内容 | | 11-15 | 预留 | | 10 | 值7 | | 6-9 | 值6 | | 5 | 值5 | | 4 | 值4 | | 3 | 值3 | | 2 | 值2 | | 0-1 | 值1 | |
- <br> /// <param name="val"></param>
- public virtual void SetValue(UInt16 val)
- {
- Fac = (Enmus.FactoryDebugStatus)(val & 0x03);
- Fligh = (Enmus.FlyLock)((val & 0x04));
- Remoti = (Enmus.RemotingLock)(val & 0x08);
- Air = (Enmus.AirCtrl)((val & 0x10));
- Alt = (Enmus.AltHold)((val & 0x20));
- Vertl = (Enmus.VerticalCtrl)(((val >> 6) & 0x0F));
- Engin= (Enmus.Start_StopState)((val & 0x400));
- }<br>
复制代码
public UInt16 ToByte()
{
UInt16 ret = 0x00;
ret = (UInt16)(ret | ((UInt16)Waypoint |