在可能的情况下,我想知道用一个bitshift替换单个乘法后跟一个整数除法是否更快.说我有一个int k,我想将它乘以2.25.
什么更快?
int k = 5;
k *= 2.25;
std::cout << k << std::endl;
Run Code Online (Sandbox Code Playgroud)
要么
int k = 5;
k = (k<<1) + (k/4);
std::cout << k << std::endl;
Run Code Online (Sandbox Code Playgroud)
产量
11
11
Run Code Online (Sandbox Code Playgroud)
两者都给出了相同的结果,你可以查看这个完整的例子.
我觉得这之前一定要问过(可能不止一次),所以可能提前道歉,但我无法在任何地方找到它(这里或通过谷歌).
无论如何,在解释Python中列表和元组之间的区别时,在元组不可变之后提到的第二件事是列表最适用于同类数据,而元组最适合异构数据.但似乎没有人想解释为什么会这样.那么为什么会这样呢?