观察下面的代码,假设a的值为01000,则b的结果为()。
input signed [4:0] a;
output signed [4:0] b;
assign b=a>>>1;
选项:
A、00100
B、01100
C、00010
D、01010
答案:
A
解析:
对于有符号数来说:
若符号位为1,使用>>>,高位补1;
若符号位为0,使用>>>,高位补0;
对于无符号数来说,无论最高位是什么,使用>>>,高位都补0。
易错点:有符号(signed)、无符号(unsigned)区别