Hem*_*ant 1 java bitwise-operators
我正在读一篇文章,问题是:"你怎么能快速计算2 ^ X"?建议的答案:"1 << X"
当然,这似乎不是正确的答案,因为我尝试过这样的事情
2 ^ 9 = 11
1 << 9 = 512
想知道 - 谁能想到我在这里缺少什么逻辑或作者在这里真的错了?
tem*_*def 11
我认为你误解了2 ^ x意味着"两个XORed与x",而意图可能是2 x.在这种情况下,1 << x是计算2 x的好方法.不幸的是,在输入纯文本时,^通常用于表示取幂,但在C,C++和Java的上下文中,^表示XOR运算符.(它也是新C/C++/Java程序员的一个简单陷阱!)
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
301 次 |
| 最近记录: |