【发布时间】:2016-07-08 19:25:31
【问题描述】:
我带着一个有趣的问题来找你。
我有一个看起来像这样的uint8_t 数组:
{B10000000,
B00000000,
B10000000,
B00000000,
B10000000,
B00000000,
B10000000,
B00000000}
我需要创建一个基于列返回字节的函数。 例如对于上面的数组
row(0) = B10101010
row(1) = B00000000
etc
到目前为止,我是这样做的
static uint8_t column = B00000001;
static uint8_t k = 0;
static uint8_t factor[7];
static uint8_t rows[7];
rows[k] = 0;
for(int i=0;i<8;i++){
factor[i] = led[i] & column;
factor[i] >>= k;
factor[i] <<= i;
rows[k] += factor[i];
}
if (k < 7) {
column = column << 1;
k = k + 1;
}
else {
column = B00000001;
k = 0;
}
}
但这对我来说效果不佳。有什么想法吗?
编辑:我的错。刚刚编辑了这个:
static uint8_t factor[8];
static uint8_t rows[8];
现在我只需要弄清楚如何不镜像它,我就完成了。
【问题讨论】:
-
我在这里没有看到
10101010...向我们展示源代码。 -
我建议在互联网上搜索“c++ 位图旋转位”。
-
...我没有看到任何列。
-
抱歉,不觉得有趣。去过那里,做到了。