SK9*_*SK9 21 c operators bit-shift logical-operators semantics
在C 中<<=
和是什么意思|=
?
我认识到<<
是bithift等,但我不知道这些是什么组合.
Chr*_*per 34
就像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)
Run Code Online (Sandbox Code Playgroud)