-1
私は2倍する数の複数の方法があることを認識しています:最速で
数字に2を掛ける最も速い方法は何ですか?
v << 1
v * 2
v >> -1
v + v
v - -v
は? Intel x86プロセッサでAssemblyを使用しています。
私は2倍する数の複数の方法があることを認識しています:最速で
数字に2を掛ける最も速い方法は何ですか?
v << 1
v * 2
v >> -1
v + v
v - -v
は? Intel x86プロセッサでAssemblyを使用しています。
明らかに答えは1つではありません。答えは、使用されている特定のプロセッサに依存します。
ほとんどの場合、ほとんどの場合、あなたのコードに* 2
と書くだけで、効率を最大限に引き出すことができます。との効率が得られます。
本当に気になる場合は、慎重に測定する必要があります。
(また、2倍することさえはv * 2
、v + v
、とv << 1
間測定可能な差異がないかもしれないので、基本的なものです。)
どのプロセッサで最速?どのようなプログラミング言語ですか?どのコンパイラのバージョンですか?影響を与える要素が多すぎます。多くのコンパイラは、以下のコマンドを1つのコマンドに最適化します。 –
'*'の何が問題なのですか? –
私はIntel 4プロセッサ2.0 ghzをWindows上で組み立てて使用しています。 – trinalbadger587