在Verilog HDL中,有两种运算符,分别是左移运算符和右移运算符。
使用方法为:a>>n,a<<n
a代表要进行移位的操作数,n代表要移几位。
如:
4'h1001<<1 = 5'h10010;
4'b1001<<2 = 6'b100100;
1<<6 = 32'b1000000;
4'b1001>>1 = 4'b0100;
4'b1001>>4 = 4'b0000;
换一种说法。
移位操作符包括左移(<<),右移(>>),算术左移(<<<),算术右移(>>>)。移位操作符是双目操作符,两个操作数分别表示要进行移位的向量信号(操作符左侧)与移动的位数(操作符右侧)。算术左移和逻辑左移时,右边低位会补 0。逻辑右移时,左边高位会补 0;而算术右移时,左边高位会补充符号位,以保证数据缩小后值的正确性。</