- 此问题在此处已有答案**:
What does |= mean in c++ [duplicate](2个答案)
六年前关闭了。
我正在浏览示例代码,发现了以下操作:
displayMap[x + (y/8)*LCD_WIDTH]|= 1 (shift by) shift;
其中
byte shift = y % 8;
我理解|
操作数和=
,但它们两个一起做什么。
What does |= mean in c++ [duplicate](2个答案)
六年前关闭了。
我正在浏览示例代码,发现了以下操作:
displayMap[x + (y/8)*LCD_WIDTH]|= 1 (shift by) shift;
其中
byte shift = y % 8;
我理解|
操作数和=
,但它们两个一起做什么。
1条答案
按热度按时间s4n0splo1#
|
对其传递的两个操作数执行按位OR运算。例如,
如果您查看
0x0A
和0x50
的底层位,它们分别是0b00001010
和0b01010000
。当与OR运算符结合使用时,b
中的结果是0b01011010
或十六进制的0x5A
。|=
类似于+=
和-=
等运算符,因为它将对两个操作数执行按位OR,然后将结果存储在左运算符中。