作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想知道,有没有办法将 BitArray 转换为字节(与字节数组相对)?我将在 BitArray 中有 8 位..
BitArray b = new BitArray(8);
//in this section of my code i manipulate some of the bits in the byte which my method was given.
byte[] bytes = new byte[1];
b.CopyTo(bytes, 0);
这就是我目前所拥有的....是否必须将字节数组更改为字节或者我是否可以将 BitArray 直接更改为字节都没有关系。我更希望能够将 BitArray 直接更改为字节...有什么想法吗?
最佳答案
你可以写一个扩展方法
static Byte GetByte(this BitArray array)
{
Byte byt = 0;
for (int i = 7; i >= 0; i--)
byt = (byte)((byt << 1) | (array[i] ? 1 : 0));
return byt;
}
你可以这样使用它
var array = new BitArray(8);
array[0] = true;
array[1] = false;
array[2] = false;
array[3] = true;
Console.WriteLine(array.GetByte()); <---- prints 9
9 十进制 = 1001 二进制
关于c# - 如何从 BitArray 中获取单个字节(没有 byte[])?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9747611/
我是一名优秀的程序员,十分优秀!