整数乘法(暂时忘记除法)之间的差异是否仍然有利于移位,如果是,差异有多大?
它似乎只是一个低级别的优化,即使你想要它不应该(C#/Java)到字节码编译器或 jit 在大多数情况下捕获它?
注意:我测试了 C# 的编译输出(使用 gmcs Mono C# 编译器版本 2.6.7.0),即使乘以 2 的倍数,乘法示例也没有使用 shift 进行乘法运算。
C# http://csharp.pastebin.com/hcrRnPrb
cil http://csharp.pastebin.com/0js9F2c1
PS我忘记了在字节上使用它可能会有些用处,但在将它用于数字时仍然遇到一些麻烦。