What is the difference between a = a * (2^3) and a = a <<3?
在面试题中,经常会问,如何高效的实现某个数值乘以2的n次方,标准答案一般是向左移位n位。
其实,这个跟编译器有关系的。当编译器看到常数2的n次方后,可能会直接优化成左移位操作。大家可以自己调试跟踪一下汇编代码。
What is the difference between a = a * (2^3) and a = a <<3?
在面试题中,经常会问,如何高效的实现某个数值乘以2的n次方,标准答案一般是向左移位n位。
其实,这个跟编译器有关系的。当编译器看到常数2的n次方后,可能会直接优化成左移位操作。大家可以自己调试跟踪一下汇编代码。