Divide Two Integers

来源:互联网 发布:小元老师的数学 知乎 编辑:程序博客网 时间:2024/06/16 20:05
class Solution {public:    int divide(int dividend, int divisor) {        assert(divisor!=0);long long dend=dividend;long long sor=divisor;bool isNotNeg=(dend>=0 && sor>0) ||(dend<=0 && sor <0);dend=dend>=0?dend:-dend;sor=sor>=0?sor:-sor;long long result=0;while(dend >= sor){//加速long long accele=sor;long long tmp=1;while(dend >= accele+accele){accele<<=1;tmp<<=1;}dend-=accele;result+=tmp;}return isNotNeg?result:(-result);}};

0 0
原创粉丝点击