位运算与位枚举

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");
}







上一篇下一篇

猜你喜欢

热点阅读