开发者社区 问答 正文

如下面的表达式,<<0表示什么?,谢谢

enum {
UIViewAutoresizingNone = 0,
UIViewAutoresizingFlexibleLeftMargin = 1 << 0,
UIViewAutoresizingFlexibleWidth = 1 << 1,
UIViewAutoresizingFlexibleRightMargin = 1 << 2,
UIViewAutoresizingFlexibleTopMargin = 1 << 3,
UIViewAutoresizingFlexibleHeight = 1 << 4,
UIViewAutoresizingFlexibleBottomMargin = 1 << 5
};

展开
收起
a123456678 2016-07-27 10:50:58 2187 分享 版权
2 条回答
写回答
取消 提交回答
  • << 左移 运算符 1<<0 ==0

    2019-07-17 20:00:23
    赞同 展开评论
  • <<是左移运算符,用来将一个数的各二进制位全部左移若干位。
    1 << 0是指1向左移0位,即不变。
    1 << 1 是指1向左移1位,二进制来说就是从00000001变成00000010(左移后右侧补零),十进制就是2。
    1 << 2 是指1向左移2位,二进制来说就是从00000001变成00000100,十进制就是4。
    以下类同。

    如 @weakish 所说,代码是为了保持队形。
    如 @Humphry 所说,这种代码小清新。

    2019-07-17 20:00:23
    赞同 展开评论
问答地址: