美文网首页
枚举中那些牵扯>>0的位移计算,你知道吗?

枚举中那些牵扯>>0的位移计算,你知道吗?

作者: 你忘记的无名人 | 来源:发表于2018-04-25 10:25 被阅读0次

typedefNS_OPTIONS(NSUInteger, UIRectCorner) {

    UIRectCornerTopLeft    =1<<0,

    UIRectCornerTopRight    =1<<1,

    UIRectCornerBottomLeft  =1<<2,

    UIRectCornerBottomRight =1<<3,

    UIRectCornerAllCorners  = ~0UL

};

拿这个来说吧,我们用枚举的时候,都是UIRectCornerTopLeft或者UIRectCornerTopRigh传进去,但是有的人传一个0或者(和)2就能正确调用,那是因为人家做枚举的时候用了NSUInteger这个,那么1<<0是啥意思呢?

简单说吧,位移不仅仅是这么点,我没呢今天直说枚举中的位移计算

1<<0     :    1是二进制中的1,也就是0001,<<是左移符号,0是左移几个(这不用位,怕混了),

so   : 1<<0 就是 0001 左移0位还是0001 ,也就是当我们要UIRectCornerTopLeft可以传入十进制的1;

1<<1  就是0001左移1位就是0010 ,UIRectCornerTopRight我们就传入十进制的2;

其他的自己玩吧,二进制转十进制的算法自己算:

相关文章

  • 枚举中那些牵扯>>0的位移计算,你知道吗?

    typedefNS_OPTIONS(NSUInteger, UIRectCorner) { UIRectCor...

  • 位移枚举

    位移枚举和普通枚举的区别位移枚举可以传递多个参数,普通的枚举只能传递单个参数 举个?在SDWebimage里有的地...

  • 位移枚举

    位移枚举 C语言枚举定义 苹果创建枚举的定义方式

  • Swift&OC位移枚举区别

    1、Swift 位移枚举写法 2、ObjC位移枚举写法 相比之下ObjC更加简单明了。

  • 位移枚举

    枚举的其中一种方式:位移枚举,直接上代码,看完基本就懂了 写一个方法: 在viewDidLoad方法中调用本方法:

  • 位移枚举

    位移枚举 一. OC中常见的三种枚举 C语言枚举 // C语言枚举 typedef enum : NSUInteg...

  • 位移枚举

  • 位移枚举

    使用场景:同一次操作有多个选项,可以同时多选同时禁用摘取一段定义好的iOS代码 写一个方法,需要选择两种特性来实现...

  • 位移枚举

    //第一种写法typedef enum{DemoTypeTop,DemoTypeBottom,}DemoType;

  • 位移枚举

    ![Uploading 2B88CA96-A66A-4BE8-AD65-456C8CDB8DF3_547667.p...

网友评论

      本文标题:枚举中那些牵扯>>0的位移计算,你知道吗?

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