← 2022 · 乐鑫科技 笔试

推荐答案 测试一下

以下代码片段实现的电路功能是

A 对输入信号 in 先右移 3 位, 再左移 1 位 B 对输入信号 in 循环左移 1 位 C 对输入信号 in 循环右移 3 位 D 对输入信号 in 先左移 1 位,再右移 3 位
填空题 中等 笔试真题

参考答案

正确答案是B。代码实现的功能是循环左移1位。分析:assign a=in<<1 将输入in左移1位,低位移入0;assign b=in>>3 将in右移3位,高位移入0;assign out=a|b 将两者按位或。以4位二进制为例,in=4'b1101,左移1位得4'b1010,右移3位得4'b0001,或得4'b1011,恰好是原数循环左移1位的结果(最高位移到最低位)。该操作等价于循环右移3位(因为4-3=1),但描述上直接体现为循环左移1位。选项A和D描述的操作顺序与代码实际顺序相反,错误;选项C虽然功能等价但并非代码最直接对应的功能描述。

涉及知识点

  • 逻辑左移与逻辑右移
  • 循环移位(旋转)的实现
  • 位运算符'<<'和'>>'的用法
  • 按位或'|'的组合逻辑
  • 移位后补0的特性
← 上一题
登录后反馈错题
下一题 →