美文网首页
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 位运算

  • iOS位运算

    位运算符使用的运算符包括下面: 1、<< 1<<1 指的是 0001 << 1 左移1位 0010 值修改为2 2...

  • ios 位运算

    1,左移运算符 << (右移雷同) 公式 x << 3 就是把x的各二进位左移3位 1<<1 实际就是 0001 ...

  • iOS 位运算

    与运算 或运算 我们新建一个MJPerson类,类里声明如下属性 这时候系统会给tall和rich生成set方法,...

  • iOS 位运算

    1 左移运算符 <<按位移 公式 x <<3 就是把x的各二进位左移3位 1 << 1 实际就是 0001 << ...

  • iOS开发-位运算

    http://www.jianshu.com/p/36ba5d65804f

  • iOS位运算实例

    这段代码是不是很眼熟? 这段代码在做APNS推送时有用到,需要设置推送的提醒方式,这里的意思是,提醒方式为:徽标或...

  • iOS开发-位运算

    前言 从现代计算机电路来说,只有高电平/低电平两种状态,即为0/1状态,计算机中所有的数据按照具体的编码格式以二进...

  • iOS 性能优化之位域,联合体,位运算的使用,节省空间

    iOS 性能优化之位域,共用体,位运算的使用,节省空间 1. 位运算方法 测试代码 我们是利用了一个 char 一...

  • iOS中位运算详解

    本文主要讲解三个运算符 左移(<<)、与(&)、或(|) 在iOS代码中如何使用。 我们经常能看到下面这样的代码 ...

网友评论

      本文标题:iOS位运算

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