Swift专题讲解二十三——高级运算符
Swift专题讲解二十三——高级运算符 一、引言 除了前边博客中介绍的基本运算符外,Swift中还支持更多高级运算符,也支持开发者进行运算符的自定义。Swift中的算符运算符有一个特点,其不会产生溢出,如果有操作产生溢出,程序会直接抛出异常。如果开发者在开发中需要有溢出操作,需要使用溢出操作符来实现。 二、位运算符 Swift支持C语言中的全部位运算符,示例如下: //二进制数据8 实际上a = 00001000 8位 var a:UInt8 = 0b1000 //使用~ 进行按位取反运算 a = 0b11110111 247 a = ~a //使用& 进行按位与运算 a = 0b11110000 240 a = 0b11110000&a //使用|进行按位或运算 a=0b11111111 255 a = 0b11111111|a //使用^进行按位异或运算 a = 0b00001111 15 a = 0b11110000^a //使用<<进行按位左移运算 a = 0b00011110 30 a = a<<1 //使用>>进行按位右移运算 a = 0b00001111 a = a>>1 Swift中还提供了一种检查机制,当存在溢出操作时,程序会抛出异常,这样可以是开发者编写的代码更加安全,如果开发者真的需要使用溢出操作,Swift中还额外提供了支持溢出操作的运算符: //a =