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