Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
アセンブリ言語で、(レジスタに格納されている) 値を 2 の累乗に変換する最速の方法は何ですか? いくつかのビット単位の操作が使用できると思います。例えば:
Value: 8 Result: 256 (2<sup>8</sup>)
つまり、短い答え:あなたが探しているのは左シフトです。
C や他の多くの言語では、あなたの特定の願いは によって提供され1 << 8ます。
1 << 8
x86アセンブラーで実行できshlますが、遭遇するほとんどすべてのコンパイラーがコードをネイティブシフト命令にコンパイルするため、そうする正当な理由はありません。
shl