我在我的应用程序中发现了一个MySQL Query,我真的不明白。它很长,这只是它的一部分,我不明白:
WHERE ( id & 0xff = 0 ) OR ( ( id >= 3000 ) AND ( id & 0xff != 0xff ) )
“ 0xff”到底是什么?Threre在此表中没有列“ 0xff”。
0xff
二进制值为 00000000000000000000000011111111 (under the 32-bit integer)
如果对bitwise AND
进行操作0xff
,则仅给出的值last 8 bits
,其他所有位均消失(因为1 & 0 = 0
和0 & 0 = 0
)
id & 0xff = 0
这将检查last 8 bits are 00000000
;
id & 0xff != 0xff
这将检查last 8 bits != 11111111
;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句