本文介绍了转换BitArray到字节的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有8的长度的BitArray,我需要一个函数将其转换为一个字节。怎么办呢?

具体来说,我需要ConvertToByte的正确功能

  BitArray位=新BitArray(新布尔[]
                                  {
                                      假的,假的,假的,假的,
                                      假的,假的,假的,真正的
});
    //如何写ConvertToByte
    字节myByte = ConvertToByte(位);
    VAR recoveredBit =新BitArray(新[] {m​​yByte});
    Assert.AreEqual(位recoveredBit);


解决方案

这应该工作:

 字节ConvertToByte(BitArray位)
{
    如果(bits.Count!= 8)
    {
        抛出新的ArgumentException(位);
    }
    字节[]字节=新的字节[1];
    bits.CopyTo(字节,0);
    返回的字节[0];
}

I have a BitArray with the length of 8, and I need a function to convert it to a byte. How to do it?

Specifically, I need a correct function of ConvertToByte

    BitArray bit=new BitArray(new bool[]
                                  {
                                      false,false,false,false,
                                      false,false,false,true
});
    //How to write ConvertToByte
    byte myByte=ConvertToByte(bit);
    var recoveredBit = new BitArray(new[] { myByte });
    Assert.AreEqual(bit, recoveredBit);
解决方案

This should work:

byte ConvertToByte(BitArray bits)
{
    if (bits.Count != 8)
    {
        throw new ArgumentException("bits");
    }
    byte[] bytes = new byte[1];
    bits.CopyTo(bytes, 0);
    return bytes[0];
}

这篇关于转换BitArray到字节的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-18 02:17