どちらのバージョンが速いですか?
x * 0.5
or
x / 2
しばらく前に、大学でコンピュータ システムというコースを受講したことがあります。当時から、2つの値の乗算は比較的「単純な」論理ゲートで実現できることを覚えていますが、除算は「ネイティブ」操作ではなく、ループ内に除数を増やして被除数と比較する合計レジスタが必要です。
今、私は多くの部門でアルゴリズムを最適化する必要があります. 残念ながら、2で割るだけではないため、バイナリシフトはオプションではありません。すべての割り算を掛け算に変更すると違いはありますか?
アップデート:
コードを変更しましたが、違いに気づきませんでした。おそらく、コンパイラの最適化については正しいでしょう。すべての回答が素晴らしかったので、すべてに賛成票を投じました。素晴らしいリンクがあるため、ラーフルの回答を選択しました。