Linux内核源代码中的“>> =”是什么意思?

时间:2012-06-28 14:07:41

标签: c linux kernel

在Linux内核源代码中,我找到下面的代码:

    h++;
    pending >>= 1;

它是__do_softirq(void)的一部分。但是“>> =”是什么意思?为什么不是“>>”我记得吗? 谢谢!

2 个答案:

答案 0 :(得分:16)

它只是

pending = pending >>1;

简而言之,它将2除以unsigned int。

这与+=/=

相同

这不仅仅是pending >>1,因为那不会将变换操作的结果存储在变量中。

答案 1 :(得分:2)

相当于

pending = pending >> 1;

哪些位移位pending中的位。这将具有将unsigned int除以2的效果。>>和<<是bitshift运算符,与=的组合表现方式相同+ =和/ = do。