序言
还记得我们之前实现的流水灯吧,点这里查看,通过位运算,我们可以轻易的实现流水灯效果,本篇文章,我们对上次的效果进行升级,将实现LED两边往中间点亮的效果。
注:本文位运算用到了左移、右移、取反,如果对位运算不了解,可以看【信奥赛·算法基础】CSP-J 位运算一文
实现
为了实现LED由两边往中间点亮的效果,我们先来分析每一组的二进制数据:
| 轮数 | 二进制数 |
|---|---|
| 1 | 0111 1110 |
| 2 | 1011 1101 |
| 3 | 1101 1011 |
| 4 | 1110 0111 |
- 接下来针对第一轮数据进行分析
- 先对
0111 1110取反,得到1000 0001 - 将第一步得到的数据右移,得到
0100 0000 - 将第一步得到的数据左移,得到
0000 0010 - 将第二步第三步得到的数据进行与运算得到
0100 0010 - 显然,到了第4步,就已经能正常计算出第二轮的二进制数据
- 先对

最低0.47元/天 解锁文章
548

被折叠的 条评论
为什么被折叠?



