「どうすれば 2 ^ X をすばやく計算できますか?」という質問の論文を読んでいます。論文での回答案: "1 << X"
もちろん、私は次のようなことを試したので、これは正しい答えではないようです
2 ^ 9 = 11
1 << 9 = 512
疑問に思っています-私がここで見逃しているロジックや、著者がここで本当に間違っていると思う人はいますか?
「どうすれば 2 ^ X をすばやく計算できますか?」という質問の論文を読んでいます。論文での回答案: "1 << X"
もちろん、私は次のようなことを試したので、これは正しい答えではないようです
2 ^ 9 = 11
1 << 9 = 512
疑問に思っています-私がここで見逃しているロジックや、著者がここで本当に間違っていると思う人はいますか?
意図はおそらく 2 xですが、 2 ^ x を「x で XOR された 2 つ」を意味すると誤解していると思います。その場合、は 2 x1 << x
を計算する優れた方法です。残念なことに、プレーン テキストで入力する場合、^ はべき乗を表すためによく使用されますが、C、C++、および Java のコンテキストでは、^ は XOR 演算子を表します。(これは、新しい C/C++/Java プログラマーにとっても簡単な罠です!)
お役に立てれば!
2 9は 512 です。
したがって、 1 << 9 は正しいことを行います。