观察下面的代码,假设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)区别

posted @ 2024-04-07 22:14  BruceSong  阅读(11)  评论(0编辑  收藏  举报