觀察下面的程式碼,假設a的值為01000,則b的結果為()。

BruceSong發表於2024-04-07

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)區別

相關文章