【发布时间】:2011-07-02 05:23:29
【问题描述】:
我知道 Java 中的 (2 * i == (i ^( i - 1) + 1) 可以让我找到一个数字是否是 2 的幂。但是有人能解释一下为什么会这样吗?
【问题讨论】:
-
我相信你需要一个额外的括号
(i ^ (i-1)) + 1。 -
你不需要它们,因为 - 在 java 中比 ^ 具有更高的优先级,但它有助于理解。
-
这不是编程问题,实际上与Java无关。