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

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

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

【问题讨论】:

    标签: c operators semantics bit-shift logical-operators


    【解决方案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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-23
      • 1970-01-01
      • 2019-09-13
      • 1970-01-01
      • 2011-08-12
      • 2017-05-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多