Task1-学习内容重温 最重要的是python位运算,和python异常处理
1, 原码反码补码
2, 按位与按位非操作
3, 按位或操作
4,按位异或操作
5,按位左移操作
6,按位右移操作
7,利用位运算快速操作
8,利用位运算实现整数集合。
1,原码反码补码
计算机内部使用补码
00 00 00 11 ->3
10 00 00 11 ->-3
原码:就是二进制表示
反码:正数的原码就是反码,负数的反码就是符号位不变,其余取反
补码:正数的原码就是补码,负数的补码就是反码加1
符号位:最高位为符号位,0表示正数,1表示负数。在位运算中参与运算
按位非操作
~ 1=0
~ 0=1
~把num全部取反,有符号位也同样取反
2,按位与按位非操作
1&0=0
0&0=0
1&0=0
1&1=1
3,按位或操作
1|0=1
0|0=0
1|0=1
1|1=1
4,按位异或操作
0^0=0
1^0=1
1^1=0
只有两个不同时才为1
5,按位左移操作
num<<i表示将二进制向左移动i位所得值
6,按位右移操作
num<<i表示将二进制向右移动i位所得值
7,利用位运算快速操作
n << 1 -> 计算n*2
n >> 1 -> 计算n/2
n << m ->计算n*(2*m)
n >> m ->计算n*(2^m)
1 << n -> 计算n*2
通过a&(-a)快速获取a的最后为1位置的整数
8,利用位运算实现整数集合。
a|(1<<i)
a&~(1<<i)
a&(1<<i)
集合之间操作
a 补 -> ~a
a 交 b -> a&b
a 并 b -> a|b
a 差 b -> a&(~b)
python异常处理
BaseException 所有异常的基类
SystemExit 解释器请求退出
KeyboardInterrupt 用户中断执行(通常是输入^C)
Exception 常规错误的基类
StopIteration 迭代器没有更多的值
GeneratorExit 生成器(generator)发生异常来通知退出
StandardError 所有的内建标准异常的基类
ArithmeticError 所有数值计算错误的基类
FloatingPointError 浮点计算错误
OverflowError 数值运算超出最大限制
ZeroDivisionError 除(或取模)零 (所有数据类型)
AssertionError 断言语句失败
AttributeError 对象没有这个属性
EOFError 没有内建输入,到达EOF 标记
EnvironmentError 操作系统错误的基类
IOError 输入/输出操作失败
OSError 操作系统错误
等等还有很多