【发布时间】:2013-11-17 13:46:20
【问题描述】:
我在一个程序示例中找到了以下代码:
const unsigned int n = /* something */
unsigned int i = 1;
for (unsigned int j = 1; j < n-1; ++j) {
i <<= 1;
}
是否有直接的公式可以在没有循环的情况下从 n 计算 i?
【问题讨论】:
-
不要打扰,真的,任何半体面的编译器都会优化循环。
-
@HansPassant 我不同意。为什么要用这样的循环来混淆代码?
-
@jrok - 为什么要修改不需要优化的工作代码?你真的认为 abhishek 的 sn-p 不是混淆器吗?你确定它准确吗?
-
@HansPassant 我在 Abhishek 编辑他的答案之前写了评论:)
标签: c++ c algorithm formula bit-shift