移位除法
Y/X :
sum=0
while ( y > x)
{
把 x 向左移位,直到 x' >= y ,然后x' >>= 1 记录左移的位数 i
然后 y-=x'
sum += 2<<i;
}
最后的 sum 就是商,最后的y就是余数
比如 76/5:
76 = 1001100b
5 = 101b
1001100
- 101000 i=3
——————-
100100100100
- 10100 i=2
——————-
1000010000
- 1010 i=1
——————-
110110
-101 i=0
——————
1
最后: 商= 2^3 +2^2 +2^1 +2^0 =15
余数=1
移位乘法
76*5=76<<2+76
**