一段systemverilog语法求解
时间:10-02
整理:3721RD
点击:
function int clog2(input int n);begin
clog2=0;
n——;
while (n>0)
begin
clog2++;
n>>=1;
end
end
endfunction
我想问的是,,n>>=1是不是n=n>>1的意思,,如果是的话,,那n--不是多余的吗?
还有,这个函数的目的就是log2 N的意思,,但是例如,,如果n=1,,满足条件,,那clog2=1,而不是0
跪求解答
clog2=0;
n——;
while (n>0)
begin
clog2++;
n>>=1;
end
end
endfunction
我想问的是,,n>>=1是不是n=n>>1的意思,,如果是的话,,那n--不是多余的吗?
还有,这个函数的目的就是log2 N的意思,,但是例如,,如果n=1,,满足条件,,那clog2=1,而不是0
跪求解答
假如n=1,
n--结果为0,
while条件不满足,不会执行while里的语句。
clog2结果为0. 是正确的
n>>=1是不是n=n>>1的意思呢?
对。和 n-=1, n+=1是相同道理
n=n>>1,是n的值右移一位吧