目录
运算符:
1.算数运算符:
+ - * /
大部分编程语言中整数的除法一般采用floor的方式,但python中不能整除时会得到一个浮点型的精确数值
%(取余) **(幂次方) a**b a的b次方 //(整除)
2.关系(比较)运算符
> < >= <= == (表判断) !=(不等于)
结果是一个布尔值
3.逻辑运算符
and | 两边都为真,结果为真 |
or | 两边有一边是真,结果为真 |
not | 得到一个和操作数相反的布尔值 |
4.赋值运算符
= 将等号右侧的结果赋值给左侧
+= a += 10 相当于 a = a + 10
类似还有-= *= /= //= **= %=
python 没有自加和自减运算符
5.⭐位运算符
位(bit) 他是计算机中最小的单位
& | 按位与运算符 |
| | 按位或运算符 |
^ | 按位异或运算符 |
~ | 按位取反运算符 |
<< | 左移运算符 |
>> | 右移运算符 |
①与运算:
(都为真才为真):10&11:
10=00001010 11=00001011 →10&11=00001010=10
②或运算:
(都为假才为假)10 | 11:
10=00001010 11=00001011 →10|11=00001011=11
③异或运算:
(相同为0,不相同为1)10 ^ 11 =:
10=00001010 11=00001011 →10^11=00000001=1
④取反运算:
为了解决负数二进制运算出错而诞生
原码:原始的二进制码
反码:正数反码是其本身,负数符号位不变,其余各位取反
补码:正数补码也是其本身,负数反码加1
~11=(原码,反码,补码都为)00001011→对其取反11110100→(因为是负数所以要进行负数补码到原码的逆运算)(先-1得到反码)11110011→(取反得到原码,符号位不变)10001100=-12
~-12=10001100→(反码)11110011→(补码)11110100→(取反)00001011→(因为是正数所以原码反码补码相同=11
④.①按位取反小tips:
正整数的按位取反是其本身+1的相反数
负整数的按位取反是其本身+1的绝对值
0的按位取反是-1
以上三条即~x=-x-1
⑤左移运算:
左移运算 使值变大(符号位 不参与移动 :2<<2 (后面的数是左移几位)高位丢弃,低位补0
⑥右移运算
同上,高位补0,低位丢弃