2012-09-19 21 views

回答

11

声明:

flagsTainted |= flagsUsed 

是简写:

flagsTainted = flagsTainted | flagsUsed 

它采用二进制/位或运算符|

该代码正在操作标志变量,该变量通过设置变量flagsTainted中的位来保持状态信息。

关于位操作的详细信息,该wikipedia article是相当不错的。

1

|是位或。这意味着它使用一个或运算符比较比特。

例如:

101 
001 

如果|两个,你会得到101 | =将结果分配回操作的左侧。

+0

在我急于得到答案我犯了一个错误:)。编辑,谢谢 – devshorts

3

a op= ba = a op b|是按位or运算符(按位意味着它适用于每个二进制数字)。

这里是truth tableor

0 1 
    ___ 
0| 0 1 
1| 1 1 
0

它可以用英文读作 “或等于”。

它类似于+ =除了代替添加左边值右边,它代替执行按位或这两个值中,然后将结果分配到你所期望的左侧的变量。

关于位操作的更多信息,请参阅以下链接: Wikipedia