1. ホーム
  2. c++

[解決済み] x<<1とx<<10はどちらが速いか?

2023-05-09 20:27:13

質問

私は何も最適化したいわけではありません、誓います、私はただ好奇心からこの質問をしたいのです。 私はほとんどのハードウェアでビットシフトのアセンブリコマンドがあることを知っています(例えば shl , shr というように)、これは1つのコマンドです。しかし、何ビットシフトするかは(ナノ秒単位、あるいはCPUタクト単位で)重要なのでしょうか。言い換えれば、どの CPU でも次のどちらかの方が速いのでしょうか?

x << 1;

x << 10;

そして、この質問で私を嫌いにならないでください :)

どのように解決するのですか?

CPUに依存する可能性があります。

しかし、すべてのモダンな CPU (x86、ARM) は、quot;バレル シフター(一定の時間で任意のシフトを実行するために特別に設計されたハードウェア モジュール) を使用します。

つまり、結論は......ノーです。違いはありません。