找回密码
 立即注册
首页 业界区 业界 C#关于byte的操作说明

C#关于byte的操作说明

赖珊 2025-6-8 22:52:55
获取byte中每一位的值
  1. byte byData = 0x36;
  2. int n0, n1, n2, n3, n4, n5, n6, n7;
  3. n0 = (byData & 0x01) == 0x01 ? 1 : 0;
  4. n1 = (byData & 0x02) == 0x02 ? 1 : 0;
  5. n2 = (byData & 0x04) == 0x04 ? 1 : 0;
  6. n3 = (byData & 0x08) == 0x08 ? 1 : 0;
  7. n4 = (byData & 0x10) == 0x10 ? 1 : 0;
  8. n5 = (byData & 0x20) == 0x20 ? 1 : 0;
  9. n6 = (byData & 0x40) == 0x40 ? 1 : 0;
  10. 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 
  1. <br>        /// <param name="val"></param>
  2.         public virtual void SetValue(UInt16 val)
  3.         {
  4.             Fac = (Enmus.FactoryDebugStatus)(val & 0x03);
  5.             Fligh = (Enmus.FlyLock)((val & 0x04));
  6.             Remoti = (Enmus.RemotingLock)(val & 0x08);
  7.             Air = (Enmus.AirCtrl)((val & 0x10));
  8.             Alt = (Enmus.AltHold)((val & 0x20));
  9.             Vertl = (Enmus.VerticalCtrl)(((val >> 6) & 0x0F));
  10.             Engin= (Enmus.Start_StopState)((val & 0x400));     
  11.         }<br>
复制代码
      

public UInt16 ToByte()
        {
            UInt16 ret = 0x00;
            ret = (UInt16)(ret | ((UInt16)Waypoint
您需要登录后才可以回帖 登录 | 立即注册