您的位置:首页 > 其它

<基本功>使用位操作进行多状态并存的指示和判断

2015-01-30 20:29 253 查看
从底层学来的位操作,对于很多上层操作带来了便利,例如多重状态的并存判断时,位操作显示了其高效率的内存利用率。

例如:

int STATUS = 0x0000 //总状态

//后两位表示开启状态

int START_STATUS= 0x0001;

int STOP_STATUS = 0x0000;

//前两位表示方向

int LEFT_STATUS = 0x0200;

int RIGHT_STATUS = 0x0400;

int UP_STATUS = 0x0800;

当开启设备时

STATUS |= START_STATUS;

若左转时

STATUS |= LEFT_STATUS;

若右转时

STATUS |=RIGHT_STATUS;

若右转时

STATUS |=UP_STATUS;

关闭时

STATUS &= STOP_STATUS;

判断

判断是否开启

(STATUS &= START_STATUS) == START_STATUS;

判断是否右转

(STATUS &= RIGHT_STATUS) == RIGHT_STATUS;

判断是否左转

(STATUS &= UP_STATUS) == UP_STATUS;

此方法有效减少了变量的个数,并在有2个以上状态时,表现出优势。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: