1. 位运算
Python 和 C++ 中的位运算符相同。
1.1 按位与 &
- 参与运算的数据,按二进制形式进行按位“与”运算。
- Python中:
负数按补码形式参加按位运算。In [2]: 12 & 10 # 12的二进制为 0b1100,10的二进制表示为 0b1010 Out[2]: 8 In [3]: 0b1100 & 0b1010 Out[3]: 8
- 作用:
- 清零;
- 取数据的二进制形式的其中几位 。
1.2 按位或 |
- 参与运算的数据,按二进制形式进行按位“或”运算。
- 作用:
- 对数据的某些位置1。
1.3 按位异或 ^
- 参与运算的数据,按二进制形式进行按位“异或”运算。
- 作用:
- 取反:一个数与1(对应位全为1)异或;
- 清零:一个数与自身异或;
- 得到自身:一个数与0异或;
1.4 按位取反 ~
- 参与运算的数据,按二进制形式进行按位“取反”运算。
2. 逻辑运算
C语言无bool类型,C++中新增了bool类型,即只有两个取值,
true, false
。
此处注意Python中的bool类型为True
和False
,首字母大写。
单个的逻辑表达式难以表达复杂逻辑 => 出现逻辑运算
逻辑运算包括:与、或、非。
2.1 逻辑与
逻辑与运算是“短路”的。
- Python中:
and
- C++中:
&&
2.2 逻辑或
逻辑或运算符也是“短路”的。
- Python中:
or
- C++中:
||
2.3 逻辑非
- Python中:
not
- C++ 中:
!