1 不能用除法垂攘,乘法和取余维雇,那就只剩加減法,可以使用while循環(huán)每次做減法晒他,但這樣吱型,當(dāng)被除數(shù)很大,除數(shù)很小的時(shí)候陨仅,就會(huì)出現(xiàn)超時(shí)
2 除了加減乘除取余津滞,還有就是移位操作
3?min(max(-2147483648, res), 2147483647) 是為了防止res overflow
4?2147483647是2**31-1,因?yàn)轭}意說了是在這個(gè)范圍
5 這里有兩層while循環(huán)灼伤,內(nèi)層循環(huán)使用位移操作触徐,可以加快找到商的速度,但是當(dāng)位移數(shù)太大的時(shí)候狐赡,不足以做細(xì)小的減法撞鹉,所以還需要外層while循環(huán)來做補(bǔ)充
6 在最開始的時(shí)候,我們需要判斷dividend和divisor
7 positive =? (dividend<0) is (divisor<0) 這句code作用是:如果is兩端都為True的話,positive就是True鸟雏;如果is兩端都是False的話享郊,positive也是True;兩個(gè)一個(gè)為正孝鹊,一個(gè)為負(fù)的話炊琉,positive就是False
8 a << 1 is equal to a * 2