C# 实现一个字节的高低位颠倒后转成bit输出bool 代码尽量少
时间: 2024-03-05 21:50:28 浏览: 189
好,这里提供一种简单的 C# 实现方法:
```csharp
byte b = 0xab; // 待处理的字节
bool[] bits = new bool[8]; // 存储结果的数组
// 颠倒字节的高低位
b = (byte)(((b & 0x01) << 7) | ((b & 0x02) << 5) | ((b & 0x04) << 3) | ((b & 0x08) << 1) | ((b & 0x10) >> 1) | ((b & 0x20) >> 3) | ((b & 0x40) >> 5) | ((b & 0x80) >> 7));
// 将颠倒后的字节转成bool数组
for (int i = 0; i < 8; i++)
{
bits[i] = (b & (1 << i)) != 0;
}
// 输出bool数组
foreach (bool bit in bits)
{
Console.Write(bit ? "1" : "0");
}
```
上述代码中,首先定义一个待处理的字节 `b`,然后定义一个长度为8的bool数组 `bits`,用于存储颠倒后的字节转成的bool值。接着,使用位运算将字节的高低位颠倒,然后使用位运算将每一位转成bool类型,并存储到 `bits` 数组中。最后,遍历 `bits` 数组,将每一位的bool值输出。
希望这个实现方法对你有所帮助,如果有疑问可以继续追问哦。
阅读全文