一、逻辑移位
1.逻辑左移:
规则:无论有没有符号位(符号位:最高位1表示是负数,最高位0表示是正数。前提是需要声明该数是有符号位数。),都整体左移,同时低位补0。
A = 4'b1100;
B = 4'b0010;
A = A << 1; //结果是4'b1000
2.逻辑右移:
规则:无论有没有符号位,都是整体向右移,同时高位补0。
A = A >> 2; //结果是4'b0011
一、算数移位
1.算数左移:
规则:保留符号位不变,将其他整体左移,同时低位补0。
A = A <<< 1; //结果是4'b1000
2.算数右移:
规则:保留符号位不变,其他整体向右移,同时高位补0。
A = A >>> 1; //结果是4'b1010