1
我在我的應用程序中發現了一個MySQL查詢,我真的不明白。它很長,這只是它的一部分,我不明白:這是什麼MySQL查詢?
WHERE (id & 0xff = 0) OR ((id >= 3000) AND (id & 0xff != 0xff))
到底是什麼這個「0xFF的」? Threre在此表中沒有列'0xff'。
我在我的應用程序中發現了一個MySQL查詢,我真的不明白。它很長,這只是它的一部分,我不明白:這是什麼MySQL查詢?
WHERE (id & 0xff = 0) OR ((id >= 3000) AND (id & 0xff != 0xff))
到底是什麼這個「0xFF的」? Threre在此表中沒有列'0xff'。
0xff
二進制值是00000000000000000000000011111111 (under the 32-bit integer)
如果你做0xff
一個bitwise AND
,它給了只有在last 8 bits
值,所有其他咬傷消失(因爲1 & 0 = 0
和0 & 0 = 0
)
id & 0xff = 0
這將檢查last 8 bits are 00000000
;
id & 0xff != 0xff
這將檢查last 8 bits != 11111111
;
非常感謝! – Tream
它只是一個十六進制數字。 – Sirko
謝謝你的回覆。爲什麼這是在查詢中? 0xff!= 0xff對我來說毫無意義(因爲它總是假的......)。 – Tream
你見過這個嗎? http://stackoverflow.com/questions/11380062/what-does-value-0xff-do-in-java – THK