Bit-shifting a byte array by N bits

后端 未结 5 574
一向
一向 2020-12-19 23:24

Hello quick question regarding bit shifting

I have a value in HEX: new byte[] { 0x56, 0xAF }; which is 0101 0110 1010 1111

I want to

5条回答
  •  被撕碎了的回忆
    2020-12-20 00:15

    you want something like...

    var HEX = new byte[] {0x56, 0xAF};
    var bits = new BitArray(HEX);
    int bitstoShiftRight = 4;
    for (int i = 0; i < bits.Length; i++)
    {
       bits[i] = i < (bits.Length - bitstoShiftRight) ? bits[i + bitstoShiftRight] : false;
    }
    bits.CopyTo(HEX, 0);
    

提交回复
热议问题