在項目中遇到狀態標識的,一般使用位運算來表示,下面舉例解釋
狀態A: 0 0 0 1
狀態B: 0 0 1 0
狀態C: 0 1 0 0
狀態D: 1 0 0 0
1、如何表示狀態state是包含了A、B狀態,如何確保某一個狀態是否存在呢?
state = A ;(初始化)
state |= B; (增加 B狀態)
if((state & B) !=0){} (說明state狀態裏面是否包含了B狀態)
2、如何提出混合狀態裏面包含的狀態?
state &= ~ B; 從state狀態中移除B狀態