verilog hdl的for语句问题
parameterSIZE=4always@(gray)for(i=0;i,size;i=i+1);bin[i]=^(gray>>1);我要问的是以上代码里面的那个for...
parameter SIZE=4
always@(gray)
for(i=0;i,size;i=i+1);
bin[i]=^(gray>>1);
我要问的是 以上代码里面的那个for后面括号中i,size;实现了什么的循环目的还有bin[i]=^(gray>>1)中^(gray>>1)实现了怎样的循环?
如果展开的话,大概是什么样的语句实现了什么目的啊? 展开
always@(gray)
for(i=0;i,size;i=i+1);
bin[i]=^(gray>>1);
我要问的是 以上代码里面的那个for后面括号中i,size;实现了什么的循环目的还有bin[i]=^(gray>>1)中^(gray>>1)实现了怎样的循环?
如果展开的话,大概是什么样的语句实现了什么目的啊? 展开
1个回答
展开全部
我想说的是i,size应该是打错了,应该是在打“<”符号忘按Shift键了,因为","和“<”都是同一个键,并且for语句中也不能这这样写","除非是赋初值。顺便说下如果你for语句后加了那个分号的话,循环体是个空语句而不是bin[i]=^(gray>>1)不加“;”并且按“<”来说的话,循环体bin[i] = ^(gray>>1)展开的话就是gray右移一位然后进行缩减异或然后赋值给bin[i];看这个定义变量就知道想实现格雷码转二进制码,不过这样写完全就实现不了这个目的,首先gray没有用i,并且如果要实现格雷码转二进制码,异或也不能用缩减异或这不是C语言。顺便说下这谁写的代码这么短这么多错误的地方。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询