在 C 和 C++ 代码中,尤其是嵌入式系统的代码中,我经常偶然发现以下形式的赋值:
A |= B;
A &= B;
不确定是否相关,但 A 和 B 是这里的寄存器。在此处查看示例:http: //processors.wiki.ti.com/index.php/Interrupt_Nesting_on_C28x#Example_Code 出现以下行:
IER |= 0x002;
IER &= 0x002;
但是,这些后续分配似乎与单个分配相同
A = B;
除了理论上前者在某些情况下可以在两行之间中断之外,但这似乎在大多数代码中并不起重要作用。
使用前者比后者有优势吗,还是我看不到另一个区别?