运算符 >>= 在 C 中的含义?

Operator >>= meaning in C?

我知道 >> 是二进制右移运算符,但是 >>= 是什么意思,比如如果我想在 x 上使用 Log2,我需要 while(x >>= 1) result++;.

按位右移赋值运算符; x >>= 1 等同于 x = x >> 1.

(与赋值=具有相同的优先级)。