最近看java源码发现他们使用进位的方式来进行乘法,在这里就用用进位乘法
101二进制=5十进制.
101<<1进1位等于1010等于10十进制 5*2^1
101<<2进2位等于10100等于20十进制 5*2^2
101<<3进3位等于101000等于40十进制 5*2^3
假如我要的是5*10,根据初中数学利用上面的规律得5*(2^3+2^1)=5*2^3+5*2^1=5<< 3+5<<1=50;
如果是5*12呢?
5*(2^3+2^2)=5*2^3+5*2^2=5<<3+5<<2=60;
利用这套规律,就算num*n都是可以用进位算出来的(n必须满足能被2整除)
哪里有什么错麻烦大佬指出