向右移位处理也需要区分操作数是否带符号,正数直接用“>>”,对负数就需要用“>>>”了。如果处理不对,自然结果就不对。
正数的右移处理向通常做的那样:
wire [7:0] a ;
wire [7:0] a0;
assign a = a0 >> 2;
负数的右移处理需要按如下处理:
wire signed [7:0] a ;
wire signed [7:0] a0;
assign a = a数字IC0 >>> 2;
想一想负数右移还有哪些处理方式,如果不用“>>>”会造成什么现象呢?这样涉及带符号数的运行算中常常用到。