labVIEW移位寄存器的问题

设计的目的就是输入一组数据,比如101,然后移位寄存器的i-1和i-2刚开始的初值为0,如图所示。之后通过2个复合运算(就是异或)形成2个数,再从for循环输出形成一维数... 设计的目的就是输入一组数据,比如101,然后移位寄存器的i-1 和i-2刚开始的初值为0,如图所示。
之后通过2个复合运算(就是异或)形成2个数,再从for循环输出形成一维数组,如图所示。
当第一个数据1输入时,三个移位寄存器的值从上到下就变成了100,复合运算1的输出为1,复合运算2的输出为1,encoded输出就是11;
当第二个数据0输入时,三个移位寄存器的值从上到下就变成了010,复合运算1的输出为1,复合运算2的输出为0,再加上之前的11,encoded输出就是1110;
当第三个数据1输入时,三个移位寄存器的值从上到下就变成了101,复合运算1的输出为0,复合运算2的输出为0,再加上之前的1110,encoded输出就是111000;
我的程序框图如下

然而不知道为什么,输入101时,输出的是110123 而且无论怎么改变第二个和第三个数据,encoded data就是不变~~而且最纳闷的就是为什么异或出来的结果会有2和3....
求大神赐教!
本人小白,求具体连接图,谢啦~

PS:会有财富值赠送的哦~~~
展开
 我来答
司马一声
2014-01-20 · TA获得超过858个赞
知道小有建树答主
回答量:288
采纳率:0%
帮助的人:365万
展开全部

首先你对移位寄存器的赋值是错的,下一次的赋值并不是input data里面的下一个元素。赋值的是i+1,也就是1,2,3,这就不难解释为什么异或出来的有2和3了。

其次,你的数组输出那里有问题,要么你启用自动索引,那么出来的是一个二维数组,输出二维数组之后再转换成一维数组。或者采用以下方法,追加数据,直接输出一维数组。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式