Day01
- 运算符:/ 表示除保留小数,//整除,%求余
- 位运算符
操作符 名称 示例 ~ 按位取反 ~4 =-101(-5) & 按位与 4&5 | 按位或 4|5 ^ 按位异或 4^5=1 << 左移 4<<2=16 >> 右移 4>>2=1 这里单独说一下按位取反,为什么4按位取反是-5呢? 下面最后得到的是5,符号位为1表示-5
首先按照8位用二进制来表示4 | 0000 0100 |
取反(每个位置都反) | 1111 1011 |
因为计算机用补码表示,补码是对于反码取反+1, 过程中符号位置保持不变 | 1000 0101 |
3、三元表达式 将if中的内容前移
原来 | 三元表达式 |
if x<y: x else: y | x if x<y else y |
4、 一个小trick,如何快速交换两个数,通过^异或操作
a^=b 假设a=2 b=3 | 010 ^011=001 此时a=1,b=3 |
b^=a | 011^001=010 此时 a=1 b=2 |
a^=b | 001 ^ 010=011 此时 a=3 b=2 |
5、 continue