我經過一些簡單的代碼,以幫助我的按位代碼邏輯使能(我第一次這樣做)按位邏輯知道什麼是從服務器
基本上我有每3個物業,1,2的ID ,4
int A = 1
int B = 2
int C = 4
可以說A和C被檢查,這將等於5,這個值將被保存到數據庫中。好。
現在我需要在返回檢查值的基礎上開展工作。
所以在這個例子中,值是5,那麼我怎麼知道按位邏輯是什麼屬性被檢查?
所以我不要求你做我的工作,知道我做什麼,
int i = A & C;
// if i == 5, then we know it was A and C checked
但你需要做的是爲每個可能性?話雖
i & A != 0 // true if A is set in i
i & B != 0 // true if B is set in i
的是,位域在很多情況下,不恰當的:
由於提前
你正在描述非常_exactly_枚舉標誌應該做什麼:http://geekswithblogs.net/BlackRabbitCoder/archive/2010/07/22/c-fundamentals-combining-enum-values-with- bit-flags.aspx – 2014-10-10 11:11:12
或者只使用位移位和按位AND來測試位。 – RenniePet 2014-10-10 11:12:07
我知道,我同意,但是,我選擇不使用枚舉,因爲在視圖上渲染枚舉看起來很凌亂,但是你;對了 – user3428422 2014-10-10 11:12:24