【问题标题】:'|' operator provide me different type of result [duplicate]'|'运算符为我提供不同类型的结果 [重复]
【发布时间】:2016-09-29 03:07:56
【问题描述】:

如果我这样写

let result = 5 | 4 | 22 

print(result)

结果是:

23

let result = 5 | 4 | 22 | 9 

print(result)

结果是:

31

然后写这个

let result = 5 | 4

print(result)

结果是

5

我无法弄清楚。如何工作“|”还是运算符?

【问题讨论】:

标签: swift


【解决方案1】:

位或运算符

按位或运算符 (|) 比较两个数字的位。如果任一输入数字中的位等于 1,则运算符返回一个新数字,其位设置为 1:


(来源:apple.com

在下面的示例中,someBitsmoreBits 的值将不同的位设置为 1。按位或运算符将它们组合成数字 11111110,它等于 254 的无符号十进制数:

let someBits: UInt8 = 0b10110010
let moreBits: UInt8 = 0b01011110
let combinedbits = someBits | moreBits  // equals 11111110

来源:https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/AdvancedOperators.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-08
    • 2021-11-07
    相关资源
    最近更新 更多