1

「どうすれば 2 ^ X をすばやく計算できますか?」という質問の論文を読んでいます。論文での回答案: "1 << X"

もちろん、私は次のようなことを試したので、これは正しい答えではないようです

2 ^ 9 = 11

1 << 9 = 512

疑問に思っています-私がここで見逃しているロジックや、著者がここで本当に間違っていると思う人はいますか?

4

2 に答える 2

11

意図はおそらく 2 xですが、 2 ^ x を「x で XOR された 2 つ」を意味すると誤解していると思います。その場合、は 2 x1 << xを計算する優れた方法です。残念なことに、プレーン テキストで入力する場合、^ はべき乗を表すためによく使用されますが、C、C++、および Java のコンテキストでは、^ は XOR 演算子を表します。(これは、新しい C/C++/Java プログラマーにとっても簡単な罠です!)

お役に立てれば!

于 2013-11-03T23:34:00.500 に答える
2

2 9は 512 です。

したがって、 1 << 9 は正しいことを行います。

于 2013-11-03T23:34:40.257 に答える