

1 不能用除法,乘法和取余,那就只剩加减法,可以使用while循环每次做减法,但这样,当被除数很大,除数很小的时候,就会出现超时
2 除了加减乘除取余,还有就是移位操作
3 min(max(-2147483648, res), 2147483647) 是为了防止res overflow
4 2147483647是2**31-1,因为题意说了是在这个范围
5 这里有两层while循环,内层循环使用位移操作,可以加快找到商的速度,但是当位移数太大的时候,不足以做细小的减法,所以还需要外层while循环来做补充
6 在最开始的时候,我们需要判断dividend和divisor
7 positive = (dividend<0) is (divisor<0) 这句code作用是:如果is两端都为True的话,positive就是True;如果is两端都是False的话,positive也是True;两个一个为正,一个为负的话,positive就是False
8 a << 1 is equal to a * 2
