-1

谁能告诉我如何计算1<<0和其他人的价值?我是 iOS 新手,我很难理解它。

 kSCNetworkReachabilityFlagsTransientConnection = 1<<0,
  kSCNetworkReachabilityFlagsReachable      = 1<<1,
  kSCNetworkReachabilityFlagsConnectionRequired = 1<<2,
  kSCNetworkReachabilityFlagsConnectionOnTraffic    = 1<<3,
  kSCNetworkReachabilityFlagsInterventionRequired   = 1<<4,
  kSCNetworkReachabilityFlagsConnectionOnDemand = 1<<5, // 
4

3 回答 3

7

这只是一个位移操作。

1 << 0 = 1
1 << 1 = 2
1 << 2 = 4
1 << 3 = 8
etc...

或在二进制视图中

00000001 << 1 = 00000010
00000001 << 2 = 00000100
00000001 << 3 = 00001000
于 2013-03-07T17:59:41.493 回答
1

这是左移运算符。

所有位都向左移动一位。结果是通过移位值的 *2 值。

1<<3 将是 1*2*2*2=8,移位 3 位,所以 3 次 *2

于 2013-03-07T18:00:00.027 回答
1

“<<”表示左移(二进制数)。所以 1 << n 等于 2 的 n 次方。然而,以二进制形式查看它是最合适的,

1<<0 = 1b
1<<1 = 10
1<<2 = 100
于 2013-03-07T18:00:35.420 回答