gpt4 book ai didi

c# - 如何从 BitArray 中获取单个字节(没有 byte[])?

转载 作者:太空狗 更新时间:2023-10-29 23:33:30 25 4
gpt4 key购买 nike

我想知道,有没有办法将 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com