跑马灯效果 使用C语言用我这个位移的方法做出流水灯,如图,图里是用位移方法做的跑马灯,求流水灯,不要用数组的方?
浏览量:1785
时间:2021-03-13 08:33:23
作者:admin
使用C语言用我这个位移的方法做出流水灯,如图,图里是用位移方法做的跑马灯,求流水灯,不要用数组的方?
不知道跑马灯和流水灯有什么区别,
看了你的描述好像跑马灯是移动一个0其他都是1,那么流水灯就是其他都是0移动一个1?
不管什么数据实现循环移动位数的操作都是一样的啊
就是你写的那种
P2 = (P2>7)
这个操作就是循环左移一位
我分析一下这个操作你来看一下
P2有八位数据假如是 0110 1100
而保存某一位数据的做法就是把数据位和0求或(按位或)1|0 = 1 0|0 = 0
向左移动一位,数据的第一位就会被抹掉
110 1100 0,且在最后补上0
为了实现循环就得把移出去的一位补在最后那么直接找到这位与补上的0求或就行了
而且向右移动数据长度-1 还会在前面的位数上补上0就会保持前几位不变
右移7(数据长度-1)位得到
0000 000 0(这个0是数据位)
那么两个数字求或得到的新数字就是循环移位得到的结果了
不管你是什么灯吧,这个核心的移位算法是不变的
话说研究流水灯这个有什么用呢???
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。