逻辑 NOT 运算用运算符!表示,用于单个操作数。这种运算将 提供的布尔标记反转.。

逻辑运算符

逻辑运算符 意义
NOT(!) 用于单个操作数的布尔值反转
AND(&&) 仅当两个操作数都为 true 时,逻辑 AND 运算的结果 才为 true
OR(||) 只要有一个操作数为 true,逻辑 OR 运算的结果就为 true
XOR (^) 有且只有一个操作数为 true 时,这种运算的结 果才为 true

在编程中,您也需要使用这样的逻辑结构,根据运算的结果决定程序的后续流程。C++提供了逻 辑运算符 AND 和 OR,您可在条件语句中使用它们,根据条件改变程序的流程。

按位运算

C++提供了按位 XOR 运算,用运算符^表示。这个运算符对操作数相应的各位执行 XOR 运算
按位运算符 NOT(~) 、AND(&)、OR(|)和 XOR(^)

逻辑运算符和按位运算符之前的差别在于,按位运算符返回的并非布尔值,而是对操作数对应位 执行指定运算的结果。C++让您能够执行按位 NOT、OR、AND 和 XOR(异或)运算,它们分别使用~ 将每位取反、使用|对相应位执行 OR 运算、使用&对相应位执行 AND 运算、使用^对相应位执行 XOR 运算。其中后三个运算符对变量与选择的数字(通常是位掩码)执行相应的运算

如果要方便显示二进制数据。请使用#include <bitset>

  1. bitset<8> inputBits (inputNum); // 显示八位二进制

按位右移运算符(>>)和左移运算符(<<)

移位运算符将整个位序列向左或向右移动,其用途之一是将数据乘以或除以 2n。
下面的移位运算符使用示例将变量乘以 2:
int doubledValue = num << 1; // shift bits one position left to double value
下面的的移位运算符使用示例将变量除以 2:
int halvedValue = num >> 1; // shift bits one position right to halve value

复合赋值运算符

image.png

运算符 sizeof

这个运算符指出特定类型或变量占用的内存量,单位为字节。sizeof 的用法如下:
sizeof (variable);

sizeof (type);

运算符优先级

image.png
乘法和除法的优先级高于 加法和减法,而加法和减法的优先级高于移位
注意使用括号可让代码易于理解。