A = 110000000 - 384 Blue+Red
B = 011000010 - 194 Green+Black+Red
A & B = C = 010000000 - 128 Red
我该如何检查B是否包含A中的所有位和其他一些位?在上面的情况下,我希望得到“false”。
我正在使用XCode和Objective-C,但据我所知,这不应该有影响。
A = 110000000 - 384 Blue+Red
B = 011000010 - 194 Green+Black+Red
A & B = C = 010000000 - 128 Red
我该如何检查B是否包含A中的所有位和其他一些位?在上面的情况下,我希望得到“false”。
我正在使用XCode和Objective-C,但据我所知,这不应该有影响。
如果A&B(即交集)等于A,则B包含A:
(a & b) == a
这类似于
a ⊆ b ↔ (a ∩ b) = a
来自集合论。
如果你的意思是完全相同的位,测试为A == B
。
如果你的意思是B
必须具有在A
中设置的所有位,以及其他一些位,(A & B) == A
。
B
值并不包含你的A
值的所有位,所以你得到了你想要的false
。 - Mike Seymour使用 ex-nor
In C ^ is ex-or operator and ~ is complement, to get ex-nor use ~(a^b)
a == b
。我认为混淆并没有增加任何东西。 - Mike Seymour