我需要實現某種位狀態映射的,我不知道如何實現這一點 - 也許我有一個傻瓜;)映射32位值不同的狀態爲每一位
好了,所以我有一個可以是最大的狀態碼。例如32位長1001 0011
每個位都屬於一個特殊的狀態碼 - 字符串。
例如:
Bit 1: String Cancel
Bit 2: String Okay
Bit 3: String Save
....
Bit 32: String Next
現在,我必須確定哪些位設置並返回所有的狀態代碼 - 這是設置INT 32位長的狀態字符串。
我喜歡某種字典或sumthin喜歡那裏我可以爲每個位存儲相應的狀態代碼。
然後我喜歡循環通過32位長的狀態碼,並從字典中獲取相應的狀態碼字符串 - 將其存儲在字符串中,並在32位長的狀態碼循環後返回。
有人有這樣的想法嗎?
嘗試使用枚舉想在這個問題http://stackoverflow.com/questions/40211/how-to-compare-flags-in-c – wiero 2012-03-19 11:57:35
@wiero :將其作爲答案發布,因爲這是正確的方式。 – 2012-03-19 11:59:42
@DanielHilgarth - 你真的有一百萬種不同的狀態信息嗎? 32位似乎是它的過度殺傷力。如果你有超過256個不同的狀態信息,至少我對這個主題有看法,你做錯了什麼。甚至可以將2個字節擴展爲256個以上的消息。 – 2012-03-19 12:10:11