我正在阅读一篇论文,其中的问题是:“如何快速计算 2 ^ X”? 论文中的建议答案:“1 << X”
当然这似乎不是正确的答案,因为我已经尝试过类似的东西
2 ^ 9 = 11
1 << 9 = 512
想知道 - 谁能想到我在这里缺少什么逻辑或者作者在这里真的错了吗?
最佳答案
我认为您将 2 ^ x 误解为“两个与 x 异或”,而本意可能是 2x。在这种情况下,1 << x
是计算 2x 的好方法。不幸的是,在纯文本中键入时,^ 通常用于表示求幂,但在 C、C++ 和 Java 的上下文中,^ 表示 XOR 运算符。 (对于新的 C/C++/Java 程序员来说,这也是一个容易陷入的陷阱!)
希望这对您有所帮助!
关于java - 如何快速计算 2^x?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19759539/