进制
转十进制:基本运算方法(权算方式)
0b1111——>1*2**3 + 1*2**2 + 1*2**1 + 1*2**0
0x7F——>7*16**1 + F*16**0
转二进制:
0xF8按位展开,4位截断——>0b1111 1000
127除以基数2,直到商为0,反向取余数
转十六进制:
127除以基数16,直到商为0,反向取余数
原码,反码,补码,负数表示法
正数的原码,反码,补码相同
负数的反码:符号位不变,按位取反
负数的补码:符号位不变,按位取反+1(补码再补码就是负数的原码,原码是给人看的)
可以理解为,无论正数和负数,在计算机内存中存的都是补码
运算符
算数运算符
+ - * / 自然除 // 整除(向下取整) %取模 **平方 divmod(5,3)元组
位运算符
&位与(按位相乘) |位或(按位相加) ^异或(相异取1) ~按位取反 <<左移(乘以2的次方) >>右移(除以2的次方)
比较运算符
== != > < >= <= 链式比较4>3>2(返回bool值)
比较运算必须相同类型
逻辑运算符
and与 or或 not非
短路(提高运算效率):and前第一个表达式为false,后面计算可忽略
or前第一个表达式为true,后面计算可忽略
赋值运算符
a=min(3,5) 先计算右边,再赋值
b+=1——>b=b+1
成员运算符(用于容器)
in not in
身份运算符
is is not
运算符优先级
单目>双目;算数>比较>逻辑