ztfmike
ztfmike
采纳率71.4%
2019-12-12 14:11

C#中如何读取byte数据的某一位数值?

5
已采纳

bool U8GetBit(U8 U8byte, int bit)
{
//从byte中读取某一位的数值
return true;
}

            U8已经定义为byte,需要读取第bit位的数据,得到0或者1来判断结果;
            请问如何实现这样的功能?
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • likaisheng001 likaisheng001 2年前

    你需要灵活的使用位运算,以下是我写的版本

    byte U8byte = 2; //方法的参数
    int bit = 1; //方法的参数
    
    U8byte = (byte)(U8byte >> bit - 1); 
    byte b = 1;  //0000 0001
    U8byte = (byte)(U8byte & b);
    Console.WriteLine("U8byte:"+ U8byte);
    Console.ReadKey();
    
    点赞 1 评论 复制链接分享
  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 2年前

    C#里,最标准的做法是使用BitArray,可以像数组一样操作二进制每一位
    当然作为原理,ls的代码也可以

    点赞 1 评论 复制链接分享