最近在学习过程中遇到if语句判断位宽不同的数相或的情况,就很迷惑,在询问同学后得到以下结论。
一、|和||的区别
|是按位或:将 a 的每个位与 b 相同的位进行相或
||是逻辑或:a 或上 b,如果a或者b有一个为1,a||b结果为1,表示真。
二、位宽为1的数和多位宽的数相或(||逻辑或)
1、输出为1位的话(out为1位),只要有一个数的一位为1,结果就是1
eg:
result:
可以看到输出结果out为1。
1、输出为多位的话(out为,3位),只要有一个数的一位为1,结果还是1,显示为001