Swift高级运算符详解
1. 高级运算符概述
Swift除了基础运算符外,还提供了一些高级运算符,用于执行更复杂的值操作。这些运算符包括从C和Objective - C中熟知的按位运算符和位移运算符。与C中的算术运算符不同,Swift中的算术运算符默认不会溢出,溢出行为会被捕获并报告为错误。若要使用溢出行为,可使用Swift的第二套默认溢出的算术运算符,如溢出加法运算符(&+),这些溢出运算符都以&开头。
当定义自己的结构体、类和枚举时,可以为这些自定义类型提供标准Swift运算符的自定义实现。此外,Swift还允许定义自己的中缀、前缀、后缀和赋值运算符,并自定义优先级和结合性,还能扩展现有类型以支持自定义运算符。
2. 按位运算符
按位运算符可操作数据结构中的单个原始数据位,常用于底层编程,如图形编程和设备驱动开发,也可用于处理外部源的原始数据,如自定义协议的编码和解码。Swift支持C中所有的按位运算符,具体如下:
- 按位非运算符(~) :反转数字中的所有位。它是前缀运算符,紧跟在操作数前,无空格。例如:
let initialBits: UInt8 = 0b00001111
let invertedBits = ~initialBits // 等于 11110000
这里 initialBits 的十进制值为15, invertedBits 的十进制值为240。
- 按位与运算符
超级会员免费看
订阅专栏 解锁全文
991

被折叠的 条评论
为什么被折叠?



