美文网首页
iOS位运算

iOS位运算

作者: frola_ | 来源:发表于2018-12-29 15:21 被阅读0次

    位运算符
    使用的运算符包括下面:

    1、<<

    1<<1 指的是 0001 << 1 左移1位 0010 值修改为2

    2、| 按位或

    1000 | 0001 做| 运算 得出 1001 如果有一位为1则结果位为1

    3、&按位与

    1001 & 1000 做&运算 得出 1000 如果两位都为1 则对应的结果位为1

    含义 运算符 例子
    左移运算符 << 0011 -> 0110
    右移运算符 >> 0110 -> 0011
    或运算符 1000 | 0001 =1001
    与运算符 & 1001 & 1000 = 1000

    如果a * b转化为位运算

    • 如果b = 2^N 则 转化为 a << N
    • 如果b != 2^N 则 转化步骤为
      (1) b = x * 2^N
      (2)转化为 a * x << N

    在枚举中使用位运算

    typedef NS_OPTIONS(NSUInteger, TestBitOperation) {
        BitOperaTionOne     = 1 << 0, //0001 = 1
        BitOperaTionTwo     = 1 << 1, //0010 = 2
        BitOperaTionThree   = 1 << 2, //0100 = 4
        BitOperaTionFour    = 1 << 3  //1000 = 8
    };
    
        NSUInteger temp = 2;
            switch (temp) {
                case BitOperaTionOne:
                    NSLog(@"is One");
                    break;
                case BitOperaTionTwo:
                    NSLog(@"isTwo");
                    break;
                case BitOperaTionThree:
                    NSLog(@"is Three");
                    break;
                case BitOperaTionFour:
                    NSLog(@"is Four");
                    break;
                default:
                    break;
            }
    

    相关文章

      网友评论

          本文标题:iOS位运算

          本文链接:https://www.haomeiwen.com/subject/dlzulqtx.html