1

アセンブリ言語で、(レジスタに格納されている) 値を 2 の累乗に変換する最速の方法は何ですか? いくつかのビット単位の操作が使用できると思います。例えば:

Value: 8
Result: 256 (2<sup>8</sup>)
4

1 に答える 1

1

つまり、短い答え:あなたが探しているのは左シフトです。

C や他の多くの言語では、あなたの特定の願いは によって提供され1 << 8ます。

x86アセンブラーで実行できshlますが、遭遇するほとんどすべてのコンパイラーがコードをネイティブシフト命令にコンパイルするため、そうする正当な理由はありません。

于 2013-06-30T10:04:09.927 に答える