3.1.12 位运算
2016-04-07 09:22
253 查看
postfix结构体中的flags字段通常用位来记录程序状态,如MASTER_SERV结构体的int flags字段可以设置为如下状态:
#define MASTER_FLAG_THROTTLE (1<<0) /* we're having trouble */
#define MASTER_FLAG_MARK (1<<1) /* garbage collection support */
#define MASTER_FLAG_CONDWAKE (1<<2) /* wake up if actually used */
#define MASTER_FLAG_INETHOST (1<<3) /*endpoint name specifies host */
#define MASTER_FLAG_LOCAL_ONLY (1<<4) /* no remote clients */
#define MASTER_FLAG_LISTEN (1<<5) /* monitor this port */
c语言提供了6个位运算符:
&(与):&运算用来判断flags字段是否设置了某个标志,如
if(serv->flags & MASTER_FLAG_INETHOST) {
可以判断是否设置了MASTER_FLAG_INETHOST标志
|(或):|=运算用来设置flags标志,如
serv->flags|= MASTER_FLAG_INETHOST;
^(异或)
<<(左移):使用<<运算设置各个状态标志。
>>(右移)
~(取反)。
#define MASTER_FLAG_THROTTLE (1<<0) /* we're having trouble */
#define MASTER_FLAG_MARK (1<<1) /* garbage collection support */
#define MASTER_FLAG_CONDWAKE (1<<2) /* wake up if actually used */
#define MASTER_FLAG_INETHOST (1<<3) /*endpoint name specifies host */
#define MASTER_FLAG_LOCAL_ONLY (1<<4) /* no remote clients */
#define MASTER_FLAG_LISTEN (1<<5) /* monitor this port */
c语言提供了6个位运算符:
&(与):&运算用来判断flags字段是否设置了某个标志,如
if(serv->flags & MASTER_FLAG_INETHOST) {
可以判断是否设置了MASTER_FLAG_INETHOST标志
|(或):|=运算用来设置flags标志,如
serv->flags|= MASTER_FLAG_INETHOST;
^(异或)
<<(左移):使用<<运算设置各个状态标志。
>>(右移)
~(取反)。
相关文章推荐
- 处理百万级以上的数据提高查询速度的方法
- android应用Theme(二)
- 第六周上机实践项目 项目2- 带武器的游戏角色
- Spring基于注解TestContext 测试框架使用详解
- hibernate批处理
- YTU 2991: 链表节点逆置(线性表)
- 苹果企业账号打包发布APP流程详解
- 水晶报表公式字段应用处理null方法
- 转载自:www.cnblogs.com/iwtwiioi
- JQuery 中的AJAX事件
- 3.1.11 offsetof宏
- C++作业3
- Eclipse反编译插件jad安装
- Uncaught SecurityError: Failed to execute 'replaceState' on 'History':解决方案
- 第五周项目:长方柱类
- 核电站问题转载自saltless原创
- [LintCode] 落单的数II Single Number II
- 第三次上机试验-1
- 3.1.10 错误处理
- Linux route命令