c# – 我们可以随机访问一部分字节
发布时间:2020-12-16 01:28:18 所属栏目:百科 来源:网络整理
导读:我们可以随机访问一部分字节.我的意思是我可以随机访问三位,而不使用BitArray并按字节访问. 是否有可能从字节访问位,如果不是为什么无法访问它,是否取决于任何标准 解决方法 您可以使用 Bitwise And () operator从一个字节读取特定位.我将通过使用0b前缀给出
我们可以随机访问一部分字节.我的意思是我可以随机访问三位,而不使用BitArray并按字节访问.
是否有可能从字节访问位,如果不是为什么无法访问它,是否取决于任何标准 解决方法
您可以使用
Bitwise And (&) operator从一个字节读取特定位.我将通过使用0b前缀给出一些示例,在C#中允许您在代码中编写二进制文字.
所以假设你有以下字节值: byte val = 0b10010100; // val = 148 (in decimal) byte testBits = 0b00000100; // set ONLY the BITS you want to test here... if ( val & testBits != 0 ) // bitwise and will return 0 if the bit is NOT SET. Console.WriteLine("The bit is set!"); else Console.WriteLine("The bit is not set...."); 这是一种测试给定字节中任何位的方法,它使用应用于数字1的Left-Shift operator来生成一个二进制数,该二进制数可用于测试给定字节中的任意位: public static int readBit(byte val,int bitPos) { if ((val & (1 << bitPos)) != 0) return 1; return 0; } 您可以使用此方法打印在给定字节中设置的位: byte val = 0b10010100; for (int i = 0; i < 8; i++) { int bitValue = readBit(val,i); Console.WriteLine($"Bit {i} = {bitValue}"); } 上面代码的输出应该是: Bit 0 = 0 Bit 1 = 0 Bit 2 = 1 Bit 3 = 0 Bit 4 = 1 Bit 5 = 0 Bit 6 = 0 Bit 7 = 1 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |