整数乗算(除算を一時的に忘れる)の違いはまだシフトを支持していますか?もしそうなら、違いはどれくらいですか?
ほとんどの場合、(C#/ Java)バイトコードコンパイラまたはjitがそれをキャッチするべきではない場合でも、それは単にそのような低レベルの最適化のように思えますか?
注: C# (gmcs Mono C# コンパイラ バージョン 2.6.7.0 を使用) のコンパイル済み出力をテストしましたが、乗算の例では、2 の倍数で乗算する場合でも、乗算にシフトを使用しませんでした。
C# http://csharp.pastebin.com/hcrRnPrb
cil http://csharp.pastebin.com/0js9F2c1
PS私はそれをバイトで使用するといくらか便利かもしれないことを忘れていましたが、数値で使用するにはまだ問題があります。