
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.4 缩减运算符实战演练
缩减运算符是单目运算符,可进行 “与” 或 “非” 运算。利用缩减运算符进行 “与” 或“非” 运算的规则类似于位运算符的 “与” 或 “非” 运算的规则,但两者的运算过程不同。
● 位运算符是对操作数的相应位进行 “与” 或 “非” 运算,操作数是几位数,运算结果也是几位数。
● 缩减运算符是对单个操作数进行 “与” 或 “非” 的递推运算,最后的运算结果是一个二进制数。
缩减运算符的具体应用过程如下:
将操作数的第一位与第二位进行 “与” 或 “非” 运算。
将上一步的运算结果与第三位进行 “与” 或 “非” 运算,依次类推,直到最后一位。
应用缩减运算符的示意代码如下:

以上代码相当于如下语句:

下面小芯将编写一个实例,通过仿真波形来验证运算结果。缩减运算符的应用代码如下。


编写缩减运算符的测试代码,如下所示。

得到的仿真波形如图2.7 所示。

图2.7
通过该波形可以看出,当变量B 的4 位全为1(高电平)时,通过执行 “与” 运算,最终输出的变量C 为高电平。如果在变量B 中加入0,其执行结果如何呢?在这种情况下,得到的仿真波形如图2.8 所示。

图2.8
从图2.8 可以看到,如果变量B 中存在0,那么输出的变量C 因执行 “与” 运算,最终会得到低电平。