【发布时间】:2012-06-28 14:07:40
【问题描述】:
在 Linux 内核源代码中,我找到以下代码:
h++;
pending >>= 1;
它是__do_softirq(void) 的一部分。但是“>>=”是什么意思?为什么不是我记得的“>>”?
谢谢!
【问题讨论】:
在 Linux 内核源代码中,我找到以下代码:
h++;
pending >>= 1;
它是__do_softirq(void) 的一部分。但是“>>=”是什么意思?为什么不是我记得的“>>”?
谢谢!
【问题讨论】:
就是这样
pending = pending >>1;
简而言之,它将无符号整数除以 2。
这与 +=、/= 等的构造相同。
这不仅仅是你记得的pending >>1,因为它不会将移位操作的结果存储在变量中。
【讨论】:
/=2。您应该主要在使用 int 存储位时使用它。
相当于
pending = pending >> 1;
哪个位右移pending 中的位。这将产生将无符号整数除以 2 的效果。>> 和
【讨论】: