11 Swift运算符

2023-02-28  本文已影响0人  为了自由的白菜

赋值和算术运算符

基本概念

Swift运算符的改进

赋值运算符

image-20230219183926775.png

算数运算符 - 标准运算符

算术运算符 - 余数运算符

image-20230219184523241.png
let c = 9 % 4
print(c)
//1

let d = 9 % -4
print(d)
//1

let e = -9 % 4
print(e)
//-1

算术运算符 - 一元

在Swift里如何处理算术结果溢出

溢出运算符

值溢出

image-20230219185729808.png image-20230219190045139.png image-20230219200711652.png

为了Optional:合并空值运算符

合并空值运算符

image-20230219201427159.png

Swift新宠:区间运算符

闭区间运算符

image-20230219202327722.png

半开区间运算符

image-20230219202552120.png

单侧区间

image-20230219202907929.png image-20230219203219575.png

字符串索引区间

image-20230219203352053.png

倒序索引

image-20230219203502040.png

Comparable区间

image-20230219203615965.png

强大的位运算符

位取反运算符

image-20230219204354482.png
let number1: UInt8 = 255
let number2 = ~number1
print(number2)
//0

位与运算符

image-20230219204828850.png

位或运算符

image-20230219205035681.png
let number1: UInt8 = 255
let number2 = ~number1
print(number2)
//0

let number3 = number1 & number2
let number4 = number1 | number2
print(number3)
print(number4)
//0
//255

位异或运算符

image-20230219205347355.png
let number1: UInt8 = 255
let number2 = ~number1
print(number2)
//0

let number5 = number1 ^ number2
print(number5)
//255

位左移和右移运算符

let number6: Int8 = 8
print(number6 << 1)
print(number6 >> 1)
//16
//4

let number7: Int8 = -8
print(number7 << 1)
print(number7 >> 1)
//-16
//-4

无符号整数的位移操作

image-20230219205856735.png

有符号整数的位移操作

image-20230219210306676.png

补码表示的优点

image-20230219210656163.png image-20230219211052119.png
上一篇 下一篇

猜你喜欢

热点阅读