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

标签 c bitwise-operators bit-shift

我知道>>是二进制右移运算符,但是 >>= 是什么意思?意思是,就像我想要 Log2 位于 x 上一样我需要while(x >>= 1) result++; .

最佳答案

按位右移赋值运算符; x >>= 1 相当于 x = x >> 1

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

关于c - 运算符 >>= 在 C 中的含义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33304374/

相关文章:

go - 为什么 math.Pow 的性能比位移差?

c - 修改和打印字符串不会产生预期的输出

C:对char进行I和^运算的结果是什么?

汇编:如何定义格式转换(SHL、SHR)

c - 32 位和 64 位机器中的位操作

bit-manipulation - Elixir 中的左旋转按位运算/为什么缺少带符号的左移?

c - 重新索引 Char 中的位

java - JNA 使用 Unix Stat 导致 UnsatisfiedLinkException

c - 使用指针访问shm结构

c - 如何计算模除法