如何在C++中实现AND和OR运算
How can I implement AND and OR operations in C++
我有一个赋值,我应该用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
两个逐位比较运算符与移位运算符(<<和>>)和一个补码运算符(~)的关系更为密切,因为它们是低级运算。
相关文章:
- C++核心准则 C35 对于接口类"A base class destructor should be either public and virtual, or protected and nonv
- 这在C++ "It does not own the underlying data, and so is cheap to copy or assign"中意味着什么
- 为什么按位 OR 和 AND 逻辑无法按预期工作?
- 按位函数 AND、OR 和 XOR 在 C++ 中使用十六进制字符串
- 为什么下面的 while 循环与 AND 一起使用,而不是 OR
- "not"、"and"和"or"是什么样的运营商C++
- 关于正则表达式与Boost的逻辑AND和OR匹配的说明
- C++中的"and"、"or"等关键字的目的是什么?
- 按位 AND/OR 运算符正在追加
- 为什么在c++中不应重载逗号、地址、逻辑AND和逻辑OR运算符
- C++:for 循环中的多个退出条件(多个变量):AND -ed 或 OR -ed
- Web Services and C++ (or C++/CLI)
- 在c++中用布尔AND和OR代替
- AND OR Operator
- 我如何更改此示例中的语法以解析"AND ( (OR (a b c)) (NOT (d)))
- 未定义关键字"and"、"or"和"not"
- IF语句中的多个OR或AND条件
- Send() and recv() double or int
- 有没有像"std::and"或"std::or"的东西?
- 如何在C++中实现AND和OR运算