【发布时间】:2026-01-13 19:10:02
【问题描述】:
我在这里面临的问题是要了解循环的每次迭代中n 的值的变化。
如果您通过 2-3 次迭代来解释它,那就太棒了。
更正 - 返回值应该是 32 位 ....这正在改变所有位 0->1 和 1->0 。
long fun(long n)
{
for(int i = 0; i < 32; i++)
n = n ^ 1U << i;
return n;
}
【问题讨论】:
-
n是long类型的变量(参数) -
你知道operator precendence 和bitwise xor and bitshift 做什么吗?那么应该很容易弄清楚它的作用。
-
fun的返回类型是什么?long的大小是否已知?
标签: c++ c loops iteration bit-manipulation