与操作

求包含关系是与操作
与操作就是这样个作用
位操作在mysql和php效率都是很高的
 
例如:
1=en(2的0次方)
2=zh(2的1次方)
4=th(2的2次方)
把选中的值加起来放到一个字段 (语种字段)
 
其中2的几次方中的几是语种的id
 
取的时候使用位操作
比如判断是否th语种的广告 $languages & pow(2, 4)) >> 4
结果为1就是支持th,为0就是不支持th
 
7的2进制表示是111(7是上面提到的1+2+4  都是2的id号次方想加)
4的2进制表示是001(4是2的language id号次方)
111 & 001 = 001
001 >> 2 = 1
为1的话就是包含该语种
 
select * from 广告表 where (储存想加的和的语种字段 & (2的要取的语种的id次方)) >> 要取的语种的id = 1;
或者不要>>?=1直接与操作就可以了。 A & B 如果A包含B,则返回B 否则返回0
 
B如果是2的次方的话,(保存的时候,id的次方如果没有减一,这儿包含的时候也就不减一,否则要减。  要对应)
posted @ 2012-10-18 17:11  幻星宇  阅读(260)  评论(0编辑  收藏  举报