原理: m = x1*2^y1 + x2*2^y2……
要点: << >>优先级比+,-低。
顺便插一下优先级图片:
只考虑正数情况下:
int divide(int x,int y) { if(x < y) return 0; int sum = 0; int te = y<<1; while(x > te) { sum++; te = te<<1; } int v = y<<sum; return divide(x - v,y) + (1<<sum); }
原文地址:http://blog.csdn.net/zcliatb/article/details/41809485