【verilog每日一练】移位操作符的使用 - FPGA开发者技术社区 - 电子技术论坛 - 广受欢迎的专业电子论坛
分享 收藏 返回

Mill 关注 私信
[问答]

【verilog每日一练】移位操作符的使用

定义变量reg [7:0]a;reg [7:0]b;reg [7:0]c;暂不考虑溢出及小数,用移位操作符(<<、>>)实现b等于a乘以4的结果,c等于a除以8的结果

回帖(9)

Mill

2023-8-14 10:36:33

解析:A<<2表示A左移n位且低位补0,A>>2表示A右移n位且高位补0,若实现乘/除以2^n可使用移位操作符,移位操作符将变量a二进制数每左移(<<)一位表示乘以2,每右移(>>)一位表示除以2

感谢相遇

2023-8-14 15:27:20

  • 使用左移操作符<<和加法操作符+来实现乘法。
  • 使用右移操作符>>和与操作符&来实现除法。
  1. reg [7:0] a, b, c;  
  2.   
  3. // b等于a乘以4的结果  
  4. assign b = a << 2;  
  5.   
  6. // c等于a除以8的结果  
  7. assign c = a >> 3;



hehung

2023-8-14 17:12:41
本帖最后由 hehung 于 2023-8-14 17:31 编辑

  b = a << 2;
  c = a >> 3;

jf_99074111

2023-8-14 21:02:13
// b等于a乘以4的结果  
assign b = a << 2;  
  
// c等于a除以8的结果  
assign c = a >> 3;

更多回帖

×
发帖