位运算与位枚举
2017-11-23 本文已影响12人
翻这个墙
位运算与位枚举
// 1 << n == 2 ^ n次方
int a = 1 << 0; // 1
int b = 1 << 1; // 2
int c = 1 << 2; // 4
int d = 1 << 3; // 8
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// 监听文本框文字改变 和 什么时候开始编辑,监听两种以上发生情况,底层实现原理是位运算
[_textField addTarget:self action:@selector(text) forControlEvents:UIControlEventEditingChanged | UIControlEventEditingDidBegin];
// 位运算
// 枚举中位运算都可以使用并运算(|)
int value = a | c;
[self value:value];
//包含了a
//包含了c
}
- (void)value:(int)value
{
// 怎么判断并运算中,有没有包含某个值,直接用&,只要结果不为0就包含
if (value & a) NSLog(@"包含了a");
if (value & b) NSLog(@"包含了b");
if (value & c) NSLog(@"包含了c");
if (value & d) NSLog(@"包含了d");
}