<<= 和 |= 的含义
Posted
技术标签:
【中文标题】<<= 和 |= 的含义【英文标题】:Meaning of <<= and |= 【发布时间】:2011-09-02 07:52:15 【问题描述】:C语言中<<=
和|=
是什么意思?
我知道<<
是位移等,但我不知道它们是什么组合。
【问题讨论】:
【参考方案1】:正如x += 5
表示x = x + 5
,x <<= 5
也表示x = x << 5
。
|
也是如此。这是按位计算的or
,所以x |= 8
表示x = x | 8
。
这是一个澄清的例子:
int x = 1;
x <<= 2; // x = x << 2;
printf("%d", x); // prints 4 (0b001 becomes 0b100)
int y = 15;
y |= 8; // y = y | 8;
printf("%d", y); // prints 15, since (0b1111 | 0b1000 is 0b1111)
【讨论】:
以上是关于<<= 和 |= 的含义的主要内容,如果未能解决你的问题,请参考以下文章