这题主要利用了位运算
代码
class Solution {
public:
int divide(int dividend, int divisor) {
unsigned int divid = dividend;
unsigned int divs = divisor;
if(divisor<0)
divs = -divs;
if(dividend<0)
divid = -divid;
int res = 0;
while(divid>=divs)
{
long long a = divs;
int i;
for(i = 1; a <= divid; ++i)
a <<= 1;
res += (1 << (i-2));
divid -= (divs << (i-2));
}
if((dividend>0&&divisor>0)||(dividend<0&&divisor<0))
return res;
else
return -res;
}
};