在变量后加signed,可以在加减,比较大小时,成为有符号数的加减法或比较。
但是对于移位,编译器并不像C语言的编译器一样,有符号数,移位对于负数最高位补1,正数补0。而是都补零。所以对于负数的移位,如下
if(baseline1<0)
baseline1 <= -((-baseline1)>>3);
else
baseline1 <= (baseline1>>3);
如此实现用移位代替的除法,节省了资源。
在变量后加signed,可以在加减,比较大小时,成为有符号数的加减法或比较。
但是对于移位,编译器并不像C语言的编译器一样,有符号数,移位对于负数最高位补1,正数补0。而是都补零。所以对于负数的移位,如下
if(baseline1<0)
baseline1 <= -((-baseline1)>>3);
else
baseline1 <= (baseline1>>3);
如此实现用移位代替的除法,节省了资源。