Arrays 如何从c#中的双字节数组中提取或获取位,并将其存储在单独的变量中,以获得每个提取的位?
我有一个两字节数组,如下所示:Arrays 如何从c#中的双字节数组中提取或获取位,并将其存储在单独的变量中,以获得每个提取的位?,arrays,bitwise-operators,bit,Arrays,Bitwise Operators,Bit,我有一个两字节数组,如下所示: byte[] arr = new byte[2]; arr[0] = 255; arr[1] = 255; var extractedBits_= new BitArray(arr); var length = arr.Length * 8; for(int i = 0; i < length; i++) { Consol
byte[] arr = new byte[2];
arr[0] = 255;
arr[1] = 255;
var extractedBits_= new BitArray(arr);
var length = arr.Length * 8;
for(int i = 0; i < length; i++)
{
Console.WriteLine(extractedBits_[i]);
}
//True
//True
//True
//True
//True
//True
//True
//False
//True
//True
//True
//True
//True
//True
//True
//True
创建名为buffer的字节[]
buffer[2];
var extractbits= buffer[2];
Bitarray extractedBits_ = new bitarray(extractbits);
var bit_0 = extractedBits_ [0];
var bit_1=extractedBits_ [1];
2字节缓冲区
现在我想从2字节中提取每一位,比如0到15个数据位,这样我就可以将它们存储在一个单独的变量中
到现在为止,我已经做到了
buffer[2];
var extractbits= buffer[2];
Bitarray extractedBits_ = new bitarray(extractbits);
var bit_0 = extractedBits_ [0];
var bit_1=extractedBits_ [1];
等等。。。
但是我没能得到信息。它在bool中显示所有false,尽管它们的字节中有值
缓冲区[2]中的值为255;
还有别的办法吗
您可以使用适当的构造函数初始化提取的位,如下所示:
byte[] arr = new byte[2];
arr[0] = 255;
arr[1] = 255;
var extractedBits_= new BitArray(arr);
var length = arr.Length * 8;
for(int i = 0; i < length; i++)
{
Console.WriteLine(extractedBits_[i]);
}
//True
//True
//True
//True
//True
//True
//True
//False
//True
//True
//True
//True
//True
//True
//True
//True
byte[]arr=新字节[2];
arr[0]=255;
arr[1]=255;
var-extractedBits=新位数组(arr);
变量长度=阵列长度*8;
for(int i=0;i
1)C和C是非常不同的语言。使用正确的语言标签,不要垃圾邮件标签!2) 请参阅,提供答案3)并说明您的具体问题。这个问题已经被多次询问和回答。如果不是现成的解决方案,那么所需的步骤。此代码的一半甚至不是有效的c#。请展示您编译和测试的实际代码-我们不能调试虚假代码的碎片。你们这些家伙对初来乍到的人很粗鲁