本文介绍了转换BitArray到字节的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有8的长度的BitArray,我需要一个函数将其转换为一个字节。怎么办呢?
具体来说,我需要ConvertToByte的正确功能
BitArray位=新BitArray(新布尔[]
{
假的,假的,假的,假的,
假的,假的,假的,真正的
});
//如何写ConvertToByte
字节myByte = ConvertToByte(位);
VAR recoveredBit =新BitArray(新[] {myByte});
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到字节的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!