This question already has answers here:
What does shift left (<<) actually do in Swift?
(2个答案)
4年前关闭。
我创建了一个这样的变量:
我发现我可以做类似的事情
我想问你:
这些>>和< 如何计算我代码中的这些数字?
(2个答案)
4年前关闭。
我创建了一个这样的变量:
let value:Int8 = 55
我发现我可以做类似的事情
value >> 3 // and the result is 6
value << 3 // and the result is 72-
我想问你:
最佳答案
<<
逻辑左移>>
逻辑右移
For more information
您的Int8 55以二进制形式表示为:
0 0 1 1 0 1 1 1value >> 3
的意思是将这些位向右移动并在空位中添加零,因此最终得到
0 0 0 0 0 1 1 0
是十进制的6value << 3
的意思是将这些位向左移动并将零添加到空位,因此最终得到:
1 0 1 1 1 0 0 0
十进制为-72
请注意,这是一个负数,因为最高有效位(左侧的最高位)是1。
iOS和OSX使用2’s complement存储负数。
关于ios - <<和>> swift 意味着什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32945680/
10-11 07:53