如何在C++中实现AND和OR运算

How can I implement AND and OR operations in C++

本文关键字:AND OR 运算 实现 C++      更新时间:2023-10-16

我有一个赋值,我应该用C++实现MIPS处理器,其中一条MIPS指令是"and"answers"OR",MIPS指令表示为and $s1,$s2,$s3,这意味着$s1=$s2(and)$s3$s2 and $s3寄存器表示为位,,,我如何使用C++执行"and"或"OR"操作?

C++中既有二进制运算符,也有逻辑运算符和/或运算符。

int a, b = 1;
int x = a | b; // binary OR
int x = a & b; // binary AND
bool x = a || b; // boolean OR
bool x = a && b; // boolean AND

布尔比较将根据两个操作数的值返回true或false。如果两个操作数都为非零,则逻辑"answers"将返回true。只有当两个操作数都为false时,逻辑"or"才会返回false。

逐位运算符不同,并且对操作数的位进行操作。只有当两个对应的位都为真时,位"answers"才会将位设置为真:

101 & 110 = 100

只有当两个对应的位都为零时,位"或"才会将位设置为零:

010 | 001 = 011

两个逐位比较运算符与移位运算符(<<和>>)和一个补码运算符(~)的关系更为密切,因为它们是低级运算。