我已经google了,大多数教程都很神秘。有人可以教我甚至指点我的资源吗?我有PHP背景。
答案 0 :(得分:4)
你正在使用它的背景。
假设你有一组8个布尔选项。我们称之为opt1至opt8。现在出于某种原因,我们将所有这些选项存储在一个8位值中。这不是您通常想要做的事情,但它肯定有其用途,特别是与现有系统和API接口。
因此,我们有以下8位(1字节)数字,以二进制表示:
10010011
每个位对应一个特定选项,按此顺序:
87654321
到目前为止我?现在,让我们进入一些基本的逻辑运算符。想想布尔值。如果true OR true
,则我们获得true
。如果true AND true
,我们会获得true
。如果true AND false
我们得到了错误。我们可以使用按位运算符做同样的事情。
让我们试试10010011 OR 11111111
。基本上,我们将在每一点上执行该逻辑运算符,并获得结果11111111
。
为什么这有用?假设我们想要获得一个地方的价值......也许选择7.我们可以10010011 AND 01000000
。我们最终会得到一个只代表一个选项的数字。 (当然,如果你想要一个数字1或0,你需要除以适当的位置值。
这有很多应用。你如何使用它取决于你需要什么。
关于这一点的维基百科文章也不错: http://en.wikipedia.org/wiki/Mask_(computing)
答案 1 :(得分:1)
这个页面实际上似乎是一个非常好的介绍,有很多例子