<<= 和 |= 的含义

Posted

技术标签:

【中文标题】<<= 和 |= 的含义【英文标题】:Meaning of <<= and |= 【发布时间】:2011-09-02 07:52:15 【问题描述】:

C语言中&lt;&lt;=|=是什么意思?

我知道&lt;&lt; 是位移等,但我不知道它们是什么组合。

【问题讨论】:

【参考方案1】:

正如x += 5 表示x = x + 5x &lt;&lt;= 5 也表示x = x &lt;&lt; 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)

【讨论】:

以上是关于<<= 和 |= 的含义的主要内容,如果未能解决你的问题,请参考以下文章

请教一下GPS导航电文代码的含义

'&'和'!'的含义是什么?在属性名称之前?

Swift 中“<-”的含义

Mybatis中#{}和${}代表什么含义,有什么区别?

<??> 符号在 C#.NET 中的含义是啥? [复制]

HTML部分标签的含义