为什么二进制乘除法可以转换成移位运算呢?
如:
a=5;
a=a*9;
可以转换成a=(a<<3)+a; 这样就转换成了移位运算和加法运算
a=a*7
可以转换成a=(a<<3)-a;
a=a/12;
可以转换成 a=(a>>4)-(a<<2) 这样就转换成了移位运算和减法运算
因为乘除和减法都能转换成移位和加法运算,所以cpu中只需要一个加法器便能完成所有运算。
为什么二进制乘除法可以转换成移位运算呢?
如:
a=5;
a=a*9;
可以转换成a=(a<<3)+a; 这样就转换成了移位运算和加法运算
a=a*7
可以转换成a=(a<<3)-a;
a=a/12;
可以转换成 a=(a>>4)-(a<<2) 这样就转换成了移位运算和减法运算
因为乘除和减法都能转换成移位和加法运算,所以cpu中只需要一个加法器便能完成所有运算。