c++ - 与或运算符

标签 c++ c operators

简单来说,AND OR概念有and运算符吗?

EX: if (a = true AND OR b = true)

如果不是运算符(operator),可以采取什么流程来做到这一点?

最佳答案

英语概念and/or在基于C的语言中已经表示为||,即inclusive .

我的意思是a ||如果a为真,或者b为真,或者两者都为真,则b为真。

“或”的“你是男孩或女孩”含义(“你是男孩”或“你是女孩”,但不是两者)是 exclusive ,并且并没有真正满足原始运算符的需求。

要实现这一点,您可以使用如下表达式:

a != b

假设它们是由 bool 运算生成的值,而不是任意整数(C 也允许)。

要以与 C 相同的方式处理任意整数,请使用:

!!a != !!b

双重 bool 否定将在比较之前强制它们为“正确的” bool 值。

<小时/>

如果您想更深入地研究不同的按位运算符,请参阅 this answer ,或引用下表,其中 F 表示 false(或零),T 表示 true(或一):

AND | F T     OR | F T     XOR | F T    NOT | F T
----+-----    ---+----     ----+----    ----+----
 F  | F F      F | F T       F | F T        | T F
 T  | F T      T | T T       T | T F

关于c++ - 与或运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25657313/

相关文章:

c++ - C++ 中 strcpy() 中的字符串类型

c++ - C/C++ 转换为 const 怪异

python - +\Python 中的运算符

c# - 为什么 C# 中没有 ||= 或 &&= 运算符?

java - 最少的代码,缩短表达

c++ - 使用 C++ 写入二进制文件 : does the default locale matter?

c++ - 当不涉及复制时,为什么 std::string s = "123"被认为是复制初始化?

c++ - 函数需要抽象类型 A 的 C++ 对象。如何将 A 子类的 Lua 对象传递给它?

c - 关于结构体的动态分配数组并在函数之间发送它

c - 将只读缓冲区从 C 传递给 Lua