【发布时间】:2013-11-27 16:11:50
【问题描述】:
我已阅读有关 BitArray 转换的其他帖子,并自己尝试了几篇,但似乎都没有达到我想要的结果。
我的情况就是这样,我有一些控制 LED 灯条的 c# 代码。要向条带发出单个命令,我最多需要 28 位
1 位用于在 2 个 LED 灯条之间进行选择
6 个位置(最多 48 个可寻址 LED)
7 代表颜色 x3(0-127 代表颜色)
假设我为该结构创建了一个 BitArray,并且作为示例,我们半随机地填充它。
BitArray ba = new BitArray(28);
for(int i = 0 ;i < 28; i++)
{
if (i % 3 == 0)
ba.Set(i, true);
else
ba.Set(i, false);
}
现在我想将这 28 位粘贴到 4 个字节中(最后 4 位可以是停止信号),最后把它变成一个字符串,这样我就可以通过 USB 将字符串发送到 LED 灯条。
我尝试过的所有方法都将 1 和 0 转换为文字字符,这不是目标。
有没有一种直接的方法可以在 C# 中进行这种位压缩?
【问题讨论】:
标签: c# bit-manipulation