← 2022 · 荣耀 笔试

推荐答案 测试一下

用于逻辑的真假判断,结果为单比特,0或1。!用于数据按位取反,结果是单个或多个比特

A.正确 B.错误
判断题 中等 笔试真题

参考答案

正确。该题考察 Verilog/SystemVerilog 中逻辑运算符与按位运算符的根本区别。'!' 是逻辑非运算符,作用是将操作数作为一个整体进行真假判断,结果为单比特(0 或 1);例如 !(3'b101) 结果为 1'b0。而 '~' 是按位取反运算符,对操作数的每一位分别取反,结果位宽与操作数相同;例如 ~(3'b101) 结果为 3'b010。题目表述准确区分了两者,因此判断为正确。易错点在于混淆逻辑运算符与按位运算符,或将逻辑非误用于多比特数据仅改变最低位。

涉及知识点

  • 逻辑非运算符 '!' 返回单比特
  • 按位取反运算符 '~' 返回多比特
  • 逻辑运算符与按位运算符的位宽区别
  • Verilog 中运算符作用域理解
← 上一题
登录后反馈错题
下一题 →