原码、反码和补码
- 正数:原码=反码=补码
- 负数:反码=符号位不变,其他位取反;补码=反码+1
- 负数补码转源码:符号位不变,其他位取反,最后再+1
- 存储数据是以补码的形式
各种进制的表示与转换
- 0b开头的表示二进制,bin()可以将10进制转为2进制,如
bin(18)
- 0o开头的表示8进制,oct()可以将10进制转为8进制,如
oct(18)
- 0x开头的表示16进制,hex()可以将10进制转为16进制,如
hex(18)
- 10进制开头没有特殊前缀,int()可以将其他进制转为10进制,如
int("0b10010",2)
,int("0o22",8)
,int("0x12",16)
位运算
- & 按位与
- | 按位或
- ^ 按位异或
- ~ 按位取反
<<
按位左移>>
按位右移- 直接对二进制进行操作效率高