我试图将我的代码从java转换为swift,但是当使用Int类型执行shift右运算符时,得到2个diffrence结果.
// java的
int d = 25;
int x = d >> 1 + 1;
System.out.println(x); //output: 6
Run Code Online (Sandbox Code Playgroud)
// swift(4)
let d = 25
let x = d >> 1 + 1
print(x) //output: 13
Run Code Online (Sandbox Code Playgroud)
什么是快速代码的解决方案?
Java正在计算
d >> (1+1)
Run Code Online (Sandbox Code Playgroud)
这是6.
斯威夫特在计算
(d >> 1) + 1
Run Code Online (Sandbox Code Playgroud)
这是13.
您可以使用括号指定要执行的计算.
这是因为运营商优先:
<<之前+.+之前来过<<| 归档时间: |
|
| 查看次数: |
110 次 |
| 最近记录: |