今天看到一段C++代码,搞不明白这句是什么意思!请大家帮忙解释下,我不是做C++的
就是这段代码 (num << 5)
------解决方案--------------------------------------------------------
num的二进制左移5位?
------解决方案--------------------------------------------------------
左移5位相当于乘以2的5次方(32)。
------解决方案--------------------------------------------------------
为什么要有这样的操作呢因为,我们知道计算机里的数据都是2进制的,乘以,除以2的n次方可以用硬件指令优化。所以就有了左移,右移,位与,位或,异或等操作
这样的操作比直接乘以性能要高几千倍。