美文网首页
ios 中的位运算

ios 中的位运算

作者: guoguojianshu | 来源:发表于2019-03-13 13:18 被阅读0次

位运算的符号:~ | & ^ << >>分别代表的是按位取反,按位或,按位与,按位异或,左移,右移

  • 按位取反操作

1 0 0 1 0


0 1 1 0 1

  • | 按位或操作,只有有一个为1,这个结果就为1
    1 0 0 1 0
    0 0 0 1 0

1 0 0 1 0

  • & 按位与操作,只有两个数都为1时,才是1
    1 0 0 1 0
    0 0 0 1 0

0 0 0 1 0

  • ^按位异或操作,不相同时候为1,相同时候为0
    1 0 0 1 0
    0 0 0 1 0

1 0 0 0 0

在oc中的代码

UIView *view = [[UIView alloc] initWithFrame:viewFrame];
[view setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)];
[view setBackgroundColor:[UIColor whiteColor]];
[self setView:view];

意思是,自动调整自己的宽度,保证与superView左边和右边的距离不变。自动调整自己的高度,保证与superView顶部和底部的距离不变。查看autoresizingMask的类型,其实是NSUInteger 如下

typedef NS_OPTIONS(NSUInteger, UIViewAutoresizing) {
UIViewAutoresizingNone = 0,
UIViewAutoresizingFlexibleLeftMargin = 1 << 0,
UIViewAutoresizingFlexibleWidth = 1 << 1,
UIViewAutoresizingFlexibleRightMargin = 1 << 2,
UIViewAutoresizingFlexibleTopMargin = 1 << 3,
UIViewAutoresizingFlexibleHeight = 1 << 4,
UIViewAutoresizingFlexibleBottomMargin = 1 << 5
};

左移运算符
公式 x << 3 就是把x的各二进位左移3位
1<<1 实际就是 0001 << 1 = 0010 转成十进制后就是 2
1<<4 实际就是 0001 << 4 = 10000 转成十进制后就是 16

如果把16进制转为10

1 0 0 0 0


2^4 2^3 2^2 2^1 2^0

相关文章

  • ios 中的位运算

    位运算的符号:~ | & ^ << >>分别代表的是按位取反,按位或,按位与,按位异或,左移,右移 按位取反操作 ...

  • iOS中位运算详解

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

  • 位运算

    在iOS开发中位运算多使用到枚举中,其他地方运用的相对较少。项目中合理的运用位运算能提高我们代码的执行效率。 一、...

  • 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中的使用

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

  • iOS开发中枚举与位运算

    开发过程中发现很多系统库枚举都是用位运算(<<)的形式进行定义的,如:UIControlEvents,UICont...

网友评论

      本文标题:ios 中的位运算

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